# 如何保存对docker镜像的修改

# 问题描述

当运行一个docker镜像后,很有可能会对运行的容器安装各种需要的软件,如ancondaPython,配置完成之后,如何保存这些修改以便在下次需要的时候直接从保存的镜像来run呢?

# 常用方法

  • docker commit命令,可以冻结一个容器的状态,并将其保存成新的镜像。
# 查看运行中的容器
sudo docker ps
# CONTAINER ID   IMAGE           COMMAND       CREATED         STATUS         PORTS     NAMES
# 1b1f3fdcc56d   ubuntu:latest   "/bin/bash"   7 seconds ago   Up 6 seconds             pedantic_blackburn

提交修改,

sudo docker commit CONTAINER_ID REPOSITORY:NEW_TAG

提交后使用sudo docker images就能找到了,下次直接运行新保存的镜像,就可以进入想要的环境了。

  • 使用Dockerfile

如果需要反复的重新构建环境,并且需要发布自己的环境,最好的方式是将对标准镜像的修改写到Dockerfile中,使用Dockerfile来生成镜像比较方便。

# reference