構(gòu)建三步驟:
- 編寫(xiě)Dockerfile文件
- docker build 命令構(gòu)建鏡像
- docker run 根據(jù)鏡像運(yùn)行容器實(shí)例
docker官網(wǎng)
不廢話,直接上案例,這是本人在公司使用的打鏡像方式,與上面的構(gòu)建步驟略有不同。
以下文件都是在同一個(gè)目錄文件夾下?。。?/span>
1、編寫(xiě)Dockerfile文件,通過(guò)Dockerfile文件將jar包打成鏡像
FROM:
????????基礎(chǔ)鏡像,當(dāng)前新鏡像是基于哪個(gè)鏡像的,指定一個(gè)已經(jīng)存在的鏡像作為模板,第一條必須是FROM
EXPOSE:
????????當(dāng)前容器對(duì)外暴露出的端口
ENTRYPOINT:
????????用來(lái)指定一個(gè)容器啟動(dòng)時(shí)要運(yùn)行的命令,類似于 CMD 指令,但是ENTRYPOINT不會(huì)被docker run后面的命令覆蓋,?而且這些命令行參數(shù)會(huì)被當(dāng)作參數(shù)送給 ENTRYPOINT 指令指定的程序
#方式一:
FROM openjdk:8
EXPOSE 9099
ENTRYPOINT ["sh","/usr/data/run.sh"]
---------------------------------------
#方式二:
FROM openjdk:8-jre
#把jar包添加到鏡像中
Add app.jar /usr/data/app.jar
#設(shè)置時(shí)區(qū)
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
EXPOSE 8088
CMD java -jar /usr/data/app.jar
2、編寫(xiě)執(zhí)行腳本(方式二不用)
很簡(jiǎn)單,就是執(zhí)行jar包的命令
vim run.sh
java -jar /usr/data/app.jar
3、通過(guò)dockerfile構(gòu)建鏡像
將jar包上傳至Dockerfile文件同一目錄下,執(zhí)行docker build
格式:
????????docker build -f Dockerfile路徑 -t 鏡像名稱:版本號(hào) .
docker build -f /home/xxx/Dockerfile -t app:1.0.0 .
注意最后有一個(gè) “ . ” ?。?!
看到Successfully鏡像就構(gòu)建成功了。
4、查看鏡像
docker images
5、運(yùn)行docker鏡像
docker run
-it --log-opt max-size=1024m
--log-opt max-file=31 --restart=always
-d --name=app-service
-p 9099:9099
-v /home/xxx:/usr/data #本地Dockerfile所在的文件目錄掛載到容器內(nèi)
-v /etc/localtime:/etc/localtime:ro
-v /var/run/docker.sock:/var/run/docker.sock
-v /usr/bin/docker:/usr/bin/docker
app:1.0.0
-------------------------------------------
docker run -d --restart=always --privileged=true -p 80:80 --name=app app:latest
查看啟動(dòng)的容器
docker ps
?
6、將壓縮成tar包鏡像下載到本地文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-777304.html
# XXX是你剛生成的鏡像
docker save XXX:1.0 | gzip > XXX_1.0.tar.gz
? 7、將鏡像部署到另一個(gè)docker容器里文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-777304.html
docker load -i XXX_1.0.tar.gz
到了這里,關(guān)于docker 將jar包打成docker鏡像的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!