Docker入門踩坑實(shí)錄

安裝環(huán)境

問題:準(zhǔn)備安裝docker前,要先安裝win10的Hyper-v虛擬機(jī)(win10專業(yè)版才有的哈)。在安裝Hyper-v時(shí),大叔遇到開啟win10開啟Hyper-v后,在系統(tǒng)重啟過程中,直接黑屏,無法正常開機(jī),
解決方案:進(jìn)入windows boot manager,進(jìn)入安全操作界面,選擇疑難解答->高級(jí)選項(xiàng)->選擇啟動(dòng)設(shè)置->點(diǎn)擊重啟->在重啟頁(yè)面點(diǎn)擊F4啟用安全模式。通過安全模式成功開機(jī),進(jìn)入系統(tǒng),關(guān)閉Hyper-v,好了又可以成功開機(jī)了。
但是大叔就是要在自己的筆記本上裝上Docker,怎么辦了呢?祭上終極大招,把win10系統(tǒng)升級(jí)到最新再說,到微軟官網(wǎng)下載win10易升工具,耗時(shí)40分鐘左右將win10從1803版本升級(jí)到了1903,重新去安裝Hyper-v,Ok,完美安裝。


docker命令報(bào)錯(cuò)

問題:執(zhí)行批量刪除/暫停容器命令

docker rm/stop $(docker ps -a -q)

時(shí)遇到unknown shorthand flag: 'a' in -a
解決方案:用PowerShell來做命令行交互就好了,總之在這里體現(xiàn)了一句話,cmd能做的PowerShell都能做,PowerShell能做的,cmd不一定能做。所以用PowerShell就好了


win10下springboot項(xiàng)目+docker集成部署的兩種方式

前提條件

創(chuàng)建DockerFile文件

FROM java:8
VOLUME /tmp
ADD **.jar app.jar
RUN sh -c 'touch /app.jar'
ENV JAVA_OPTS=""
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]

文件中**.jar代表自己的項(xiàng)目打包的jar包名稱。

  • 將Dockerfile文件放在src/main/docker里,在項(xiàng)目根目錄執(zhí)行mvn clean pakage docker:build命令,會(huì)直接將項(xiàng)目打包并載入鏡像到docker里。
  • 先執(zhí)行mvn clean package打包項(xiàng)目,將生成的項(xiàng)目jar包和Dockerfile文件放在同一個(gè)文件夾,命令行終端進(jìn)入該文件夾,執(zhí)行命令docker build -t **.(**代表你想要的鏡像名),即可載入鏡像到docker里。
    注意:鏡像命名不要有大寫,否則會(huì)報(bào)錯(cuò)哦,如果采取第一種方式,請(qǐng)不要在pom.xml的項(xiàng)目artifactId節(jié)點(diǎn)里用大寫
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容