一、準(zhǔn)備好相應(yīng)得jar包,并vim好dockerfile文件。
#定義基礎(chǔ)鏡像
FROM java:8
# 維護(hù)者信息
MAINTAINER?? xxxxxxxxx@qq.com
#聲明發(fā)布端口(沒有發(fā)布)
EXPOSE 9181
# 將jar包添加到容器
ADD springboot.jar app.jar
# 定義容器啟動(dòng)執(zhí)行的命令(CMD會(huì)被docker run 之后的命令替換掉)
CMD java -jar app.jar
指令詳情:
指令 | 解析 |
---|---|
FROM | 指定基礎(chǔ)鏡像,必須為第一個(gè)命令 |
MAINTAINER | 維護(hù)者郵箱等信息 |
RUN | 構(gòu)建鏡像docker build時(shí)執(zhí)行的命令 |
ADD | 將本地文件添加到容器中,tar 類型文件會(huì)自動(dòng)解壓 |
COPY | 功能類似ADD,但是是不會(huì)自動(dòng)解壓文件,也不能訪問網(wǎng)絡(luò)資源 |
CMD | 在docker run時(shí)會(huì)執(zhí)行的命令,如果存在多個(gè)則僅最后一個(gè)生效,例如一個(gè)鏡像的dockerfile的結(jié)尾是“ CMD ["/bin/bash"] ”,那么進(jìn)入容器可以使用docker exec -it imageName或docker exec -it imageName /bin/bash,后者是在“ CMD ["/bin/bash"] ”的指令下面多加了一個(gè)“ CMD ["/bin/bash"] ”,根據(jù)CMD的特性,存在多個(gè)時(shí),只讓最后一個(gè)CMD生效,因此不影響 |
ENTRYPOINT | 可執(zhí)行化 |
LABEL | 用于為鏡像添加元數(shù)據(jù) |
ENV | 設(shè)置環(huán)境變量 |
EXPOSE | 指定于外界交互的端口 |
VOLUME | 用于指定持久化目錄 |
WORKDIR | 工作目錄 |
ARG | 用于指定傳遞給構(gòu)建運(yùn)行時(shí)的變量 |
ONBUILD | 用于設(shè)置鏡像觸發(fā)器 |
二、build 當(dāng)前dockerfile文件
docker build -f dockerfile文件路徑 -t 鏡像名稱:版本號(hào) .
例:docker build -f dockerfile -t myfirstapp:1.0 .
三、查看鏡像是否打成功
#查看鏡像是否已存在。
docker images
#查看鏡像聲明的端口
docker inspect -f {{".ContainerConfig.ExposedPorts"}} abde875b8b42
四、將鏡像壓縮成tar包或者解壓
docker save -o 壓縮文件名稱 鏡像名稱:版本號(hào)
例:docker save -o myfirstapp.tar myfirstapp:1.0
docker load –i 壓縮文件名稱
例:docker load -i myfirstapp.tar
五、啟動(dòng)容器運(yùn)行鏡像
docker run --name 容器名稱 -it -d后臺(tái)運(yùn)行 -p端口映射宿主機(jī):容器內(nèi) -v /宿主機(jī)絕對(duì)路徑目錄:/容器內(nèi)目錄 鏡像名稱:版本號(hào)
例:docker?run --name? mydocker? -it? -d? -p 8080:80? -v /opt/log:/log myfirstapp:1.0
(-i 以交互模式運(yùn)行容器,通常與 -t 同時(shí)使用、-t 為容器重新分配一個(gè)偽輸入終端)
六、查看容器信息
docker ps -a
七、進(jìn)入容器文章來源:http://www.zghlxwxcb.cn/news/detail-597219.html
docker exec -it? 容器名 bash
例:docker exec -it? mydocker bash
八、查看容器日志文章來源地址http://www.zghlxwxcb.cn/news/detail-597219.html
docker logs [OPTIONS] CONTAINER
[OPTIONS]
-f : 跟蹤日志輸出
-t : 顯示時(shí)間戳
--tail :僅列出最新N條容器日志
--since:顯示某個(gè)日期至今的所有日志
CONTAINER
代表容器ID或容器名稱
# 顯示最近10條日志
docker logs -f --tail 10 efb78392fcc6
#顯示某個(gè)日期到當(dāng)前日期的所有日志
docker logs -f --since "2022-05-16" efb78392fcc6
到了這里,關(guān)于使用docker 生成鏡像,并啟動(dòng)容器。的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!