图像是实时容器的固定不变快照。容器正在运行(或停止)某些图像的实例。
从名为“ubuntu”的基本映像开始。让我们在ubuntu映像中交互式运行bash并创建一个文件。我们将使用
-i和
-t标志为我们提供一个交互式bash
shell。
$ docker run -i -t ubuntu /bin/bashroot@48cff2e9be75:/# lsbin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr varroot@48cff2e9be75:/# cat > fooThis is a really important file!!!!root@48cff2e9be75:/# exit
不要期望该文件在退出并重新启动映像后仍然存在。您将从与之前开始时完全相同的定义状态重新开始,而不是从上次中断的位置开始。
$ docker run -i -t ubuntu /bin/bashroot@abf181be4379:/# lsbin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr varroot@abf181be4379:/# exit
但是,现在不再运行的容器具有状态,可以保存(提交)到映像中。
$ docker ps -aConTAINER ID IMAGE COMMAND CREATED STATUS PORTSNAMESabf181be4379 ubuntu:14.04 /bin/bash 17 seconds ago Exited (0) 12 seconds ago elegant_ardinghelli 48cff2e9be75 ubuntu:14.04 /bin/bash about a minute ago Exited (0) 50 seconds ago determined_pare ...
让我们从创建文件的容器ID 48cff2e9be75创建一个图像:
$ docker commit 48cff2e9be75 ubuntu-food0e4ae9a911d0243e95556e229c8e0873b623eeed4c7816268db090dfdd149c2
现在,我们有了一个非常重要的文件,有了一个新图像:
$ docker run ubuntu-foo /bin/cat fooThis is a really important file!!!!
尝试命令
docker images。您应该会看到
ubuntu-foo列出的新图像以及
ubuntu我们开始使用的标准图像。



