在 Docker 中保存容器设置主要有以下几种方法:
docker commit
命令将容器的当前状态保存为新的镜像:
docker commit [容器ID或名称] [新镜像名称]:[标签]
示例:
docker commit my_container my_image:v1
更推荐的方法是使用 Dockerfile 构建镜像,这样可以实现可重复构建:
FROM base_image
RUN apt-get update && apt-get install -y package_name
COPY config_file /path/in/container
EXPOSE 80
CMD ["command_to_run"]
然后构建:
docker build -t my_image .
对于需要持久化的数据(如配置文件、数据库等):
# 创建命名卷
docker volume create my_volume
# 运行容器时挂载卷
docker run -v my_volume:/path/in/container my_image
docker save
和 docker load
保存镜像到文件:
docker save -o my_image.tar my_image:tag
从文件加载镜像:
docker load -i my_image.tar
docker export
和 docker import
保存容器文件系统:
docker export my_container > my_container.tar
导入为镜像:
cat my_container.tar | docker import - my_image:tag
记住,docker commit
虽然方便,但不利于追踪变更,建议仅在临时调试时使用。