[英]Startup script for a docker container
我有一個已經運行的docker容器。 我做了一些配置更改,比方說在容器內的/ etc / hosts中添加了一些主機信息。 如何保存更改,以便下次當我打開交互式shell到容器時,我不必再做同樣的事情了? 現在我已經在容器內創建了一個mini腳本,如下面的addhosts.sh,每次都要運行它。
echo "1.2.3.4 server1.example.com gluster1" >> /etc/hosts
echo "5.6.7.8 server2.example.com gluster2" >> /etc/hosts
這是其中一個案例。 同樣,我需要所有配置都完好無損。 請不要建議使用dockerfile,因為我沒有創建圖像,而是我剛剛進入容器。
您可以提交您所做的更改:
短命令參考:
docker commit <container id or name> <repository name>/<your image name>:<tage aka version>
例:
docker commit c3f279d17e0a svendowideit/testimage:version3
完整參考:
Usage: docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
Create a new image from a container's changes
Options:
-a, --author string Author (e.g., "John Hannibal Smith <hannibal@a-team.com>")
-c, --change value Apply Dockerfile instruction to the created image (default [])
--help Print usage
-m, --message string Commit message
-p, --pause Pause container during commit (default true)
然后,您可以使用docker images
在提交后查看新圖像。
要從新圖像運行容器:
docker run -d svendowideit/testimage:version3 <optional startup command>
另一種方法是通過以下方式創建自己的圖像: dockerfile
,我只是把它放在這里,只是因為我們可以幫助別人。
假設您不希望將更改保存到新圖像中:
docker exec -it container_id echo "1.2.3.4 server1.example.com gluster1" >> /etc/hosts
docker exec -it container_id echo "5.6.7.8 server2.example.com gluster2" >> /etc/hosts
這將連接到容器,運行命令並退出而不會殺死容器。
請注意以下內容之間的區別:
docker exec -it container_id ... = does not kill the container.
docker run -it container_id ...= kills the container
使用docker commit
拍攝容器的快照。
Usage: docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
Create a new image from a container's changes
Options:
-a, --author string Author (e.g., "John Hannibal Smith <hannibal@a-team.com>")
-c, --change value Apply Dockerfile instruction to the created image (default [])
--help Print usage
-m, --message string Commit message
-p, --pause Pause container during commit (default true)
Example: docker commit c3f279d17e0a svendowideit/testimage:version3
請查看https://docs.docker.com/engine/reference/commandline/commit/
要運行 docker容器的快照 ,請添加要運行的版本命令。 至於運行示例
docker run svendowideit/testimage:version3
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.