我正在尝试学习Docker的各个方面,但对于保存镜像的前景感到困惑。
我运行了基本的Ubuntu镜像,安装了Anaconda Python和其他一些东西...现在最好的保存进度的方法是什么?保存、提交、导出?
这些方法似乎都不能像VirtualBox那样工作,后者为您的虚拟机提供明显的保存状态文件。
我正在尝试学习Docker的各个方面,但对于保存镜像的前景感到困惑。
我运行了基本的Ubuntu镜像,安装了Anaconda Python和其他一些东西...现在最好的保存进度的方法是什么?保存、提交、导出?
这些方法似乎都不能像VirtualBox那样工作,后者为您的虚拟机提供明显的保存状态文件。
docker commit
:这将把您的容器状态冻结到一个新镜像中。docker images
在本地列出该镜像,并再次运行它。$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c3f279d17e0a ubuntu:12.04 /bin/bash 7 days ago Up 25 hours desperate_dubinsky
197387f1b436 ubuntu:12.04 /bin/bash 7 days ago Up 25 hours focused_hamilton
$ docker commit c3f279d17e0a svendowideit/testimage:version3
f5283438590d
$ docker images
REPOSITORY TAG ID CREATED SIZE
svendowideit/testimage version3 f5283438590d 16 seconds ago 335.7 MB
使用docker commit
命令是可能的(但不建议使用)。
您可以查看以下清晰的示例:
https://phoenixnap.com/kb/how-to-commit-changes-to-docker-image
手动干预
是更好的选择。 - Ahmed Nabil针对这些情况,请使用Docker文件。
一个Ubuntu镜像与MongoDB的示例案例:
FROM ubuntu
MAINTAINER Author name
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
RUN echo "deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen" | tee -a /etc/apt/sources.list.d/10gen.list
RUN apt-get update
RUN apt-get -y install apt-utils
RUN apt-get -y install mongodb-10gen
#RUN echo "" >> /etc/mongodb.conf
CMD ["/usr/bin/mongod", "--config", "/etc/mongodb.conf"]
还可以参考Dockerfile编写最佳实践。
docker commit
和docker save
。这就是我所需要的。谢谢。 - FractalSpace