安裝環(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)里用大寫