利用互動後的容器建立映像檔
假設我建立了一個容器之後,在容器內進行了一些指令(新增檔案或是安裝套件,任何指令都算),希望能夠依此容器來建立新映像檔,可利用docker commit。
建容器前,用docker history看一下映像檔cutejaneii/pythonapp的內容
root@mv:/home/jennifer# docker history cutejaneii/pythonapp
IMAGE CREATED CREATED BY SIZE COMMENT
de1bcecfcad9 3 hours ago /bin/sh -c #(nop) CMD ["python" "main.py"] 0B
993212ec1639 3 hours ago /bin/sh -c #(nop) COPY dir:5f74b7454f45cc72f… 260B
fb8ad4738161 3 hours ago /bin/sh -c pip install flask 11.2MB
d15e7a9f900e 2 weeks ago /bin/sh -c #(nop) CMD ["python3"] 0B
<missing> 2 weeks ago /bin/sh -c set -ex; wget -O get-pip.py "$P… 6.51MB
<missing> 2 weeks ago /bin/sh -c #(nop) ENV PYTHON_GET_PIP_SHA256… 0B
<missing> 2 weeks ago /bin/sh -c #(nop) ENV PYTHON_GET_PIP_URL=ht… 0B
<missing> 2 weeks ago /bin/sh -c #(nop) ENV PYTHON_PIP_VERSION=20… 0B
<missing> 2 weeks ago /bin/sh -c cd /usr/local/bin && ln -s idle3… 32B
<missing> 2 weeks ago /bin/sh -c set -ex && apk add --no-cache --… 55.5MB
<missing> 2 weeks ago /bin/sh -c #(nop) ENV PYTHON_VERSION=3.5.9 0B
<missing> 2 weeks ago /bin/sh -c #(nop) ENV GPG_KEY=97FC712E4C024… 0B
<missing> 2 weeks ago /bin/sh -c apk add --no-cache ca-certificates 512kB
<missing> 2 weeks ago /bin/sh -c #(nop) ENV LANG=C.UTF-8 0B
<missing> 3 weeks ago /bin/sh -c #(nop) ENV PATH=/usr/local/bin:/… 0B
<missing> 3 weeks ago /bin/sh -c #(nop) CMD ["/bin/sh"] 0B
<missing> 3 weeks ago /bin/sh -c #(nop) ADD file:c92c248239f8c7b9b… 5.57MB接著建立容器,再瀏覽器看一下網站http://host-ip/

接著我們進入容器內,修改內容後,再建立一個新的映像檔
修改main.py內容
docker commit成一個新的映像檔cutejaneii/pythonapp2
再來用這個新的映像檔cutejaneii/pythonapp2建立容器,就打開瀏覽器,就可以發現內容已改變

Last updated
Was this helpful?