docker命令解析的文章参考
build 和 commit
build适合从头创建一个清晰干净的镜像。
build是从Dockfile产生新的镜像,对于使用者能清晰的知道镜像中包含了哪些内容。commit适合将已有的容器打包提供给其他使用者。
commit是从已经存在的容器产生镜像,这个容器曾经执行的操作是黑盒,使用者不知道。
参考文章
另一篇参考文章
create 和 run
在docker中,create命令与run命令都可以创建一个新的容器,区别就是create命令创建一个新的容器但是不启动它,而run命令创建一个新的容器会运行一个命令。
docker create命令从 Docker 映像创建一个全新的容器。但是,它不会立即运行它。docker start命令将启动任何已停止的容器。如果使用docker create命令创建容器,则可以使用此命令启动它。docker run命令是创建和启动的组合,因为它创建了一个新容器并立即启动它。实际上,如果docker run命令在您的系统上找不到上述映像,它甚至可以从 Docker Hub 中提取映像。
参考文章
attach 和 exec
docker attach命令用于附加到正在运行的容器的标准输入、输出和错误流。- 使用
docker attach 容器id进入正在执行容器,不会启动新的终端, 退出容器时,会导致容器的停止。 - 当多个窗口同时
attach到同一个容器的时候,所有窗口都会同步显示;当某个窗口因命令阻塞时,其他窗口也无法执行操作。
- 使用
docker exec命令用于在正在运行的容器中执行特定的命令。docker exec 容器id 命令进入容器并开启一个新的终端。 退出容器终端时,不会导致容器的停止。
参考文章
参考文章2
export 和 save
docker save保存的是镜像(image),docker export保存的是容器(container);docker load用来载入镜像包,docker import用来载入容器包,但两者都会恢复为镜像;docker load不能对载入的镜像重命名,而docker import可以为镜像指定新名称。
参考文章
import 和 load
docker load命令导入镜像库存储文件到本地镜像库docker import命令导入一个容器快照到本地镜像库
两者的区别在于容器快照将会丢弃所有的历史记录和元数据信息,而镜像存储文件将保存完整记录,体积也会更大。此外从容器快照文件导入时,也可以重新指定标签等元数据。
参考文章
images 和 ps
docker images查看下载到本地的所有镜像docker ps -a命令可以显示所有的容器
参考文章
命令参考文章










