shell – docker容器的启动脚本

我有一个已经运行的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镜像在提交后查看新图像.

要从新映像运行容器:

docker run -d svendowideit / testimage:version3< optional startup command>

另一种方法是通过以下方式创建自己的图像:dockerfile,我只是把它放在这里,只是因为我们可以帮助别人.

转载注明原文:shell – docker容器的启动脚本 - 代码日志