docker容器的构建
構(gòu)建容器的方法:
(1)命令docker? commit
運行容器的三個步驟:運行+修改+保存鏡像
例子:
拉取鏡像
docker pull centos
創(chuàng)建容器
docker run -itd e934aafc2206 /bin/bash
進入容器修改容器
docker exec -it e6e5f719f74c /bin/bash
yum -y install net-tools vim
將修改后的容器做成鏡像
docker commit e6e5f719f74c centos-with-vim/nettools:1.0
刪除修改后的容器
docker ps
docker rm -f e6e5f719f74c
docker ps
docker images
測試修改后的鏡像是不是你添加的東西
docker run -it centos-with-vim/nettools:1.0
?
(2)dockerfile構(gòu)建文件,
例子:
vim dockerfile
FROM centos
RUN yum install net-tools -y
RUN yum install elinks -y
CMD ["/bin/bash"]
?
執(zhí)行dockerfile文件
docker build -t centos-nginx:test ./
注釋;
centos-nginx:test 新鏡像名稱:標(biāo)簽
????
?
(4)查看鏡像執(zhí)行過程,
docker history centos-with-vim/nettools:1.0
?
(5)鏡像的緩存特性:
1.當(dāng)鏡像里執(zhí)行過的層就會跳過,執(zhí)行新添加的層以及往下的已經(jīng)有的或者沒有的層.修改的時候
2.新增加的數(shù)據(jù)之只能往上層增加,才會有緩存特性,不能往下層增加,否則緩存特效就美譽了,也就會重寫這個文件,如果不想要這個緩存特性,則添加no-cache
vim testfile
This is wode coustom imags
:wq
?
vim dockerfile
FROM centos
RUN yum install net-tools -y
COPY testfile /
RUN yum install elinks -y
CMD ["/bin/bash"]
?
?
(6)容器的調(diào)試方法:
vim dockerfile
FROM busybox
RUN yum install net-tools -y
COPY testfile /
RUN yum install elinks -y
CMD ["/bin/bash"]
?
docker build -t haha:test ./
?
docker run -it 進入報錯的上一個容器運行,然后并執(zhí)行報錯的命令,這是排除錯誤思路
?
?
?
(7)一次性容器運行
docker run? -it e934aafc2206
?
添加:?
docker文件的參數(shù)詳解
vim dockerfile
FROM: 基礎(chǔ)鏡像
MAINTAINER:作者信息
COPY:src(host) dest(container)
ADD:拷貝到container同時解壓
ENV:變量
??? ENV my_version 1.3
??? RNN yun install httpd-$my-version
EXPOSE:指定容器中的進程監(jiān)聽某個端口
VOLUME:目錄文件映射到容器
WORKDIR:為后面所有的命令提供目錄
RUN:容器運行的命令
CMD:容器啟動時運行的命令(可被代替)
ENTRYPOINT:容器啟動時的執(zhí)行命令,只能有一個,不會被替換。
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/Leonardo-li/p/8822132.html
總結(jié)
以上是生活随笔為你收集整理的docker容器的构建的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 简练软考知识点整理-项目合同的类型
- 下一篇: 20165232 2017-2018-2