我看到有三个docker
命令似乎做了非常相似的事情:
docker build
docker create
docker run
这些命令有什么区别?
答案 0 :(得分:39)
docker build
builds a new image from the source code。docker create
creates a writeable container from the image and prepares it for running。docker run
creates the container (same as docker create
) and runs it。答案 1 :(得分:3)
docker build .
将您的Dockerfile
转换为图像。 docker create your-image
根据您的图片创建一个容器,docker run your-image
根据您的图片创建并启动该容器。
这是image
和container
之间的区别:
图片
映像基本上是文件系统的指定快照,也是容器的启动命令。要创建图像,您通常会创建说明如何在Dockerfile
中构建该图像。码头工人文件中的FROM
和RUN
命令创建文件快照。可以使用docker build <dockerfile>
容器
容器由图像创建。一幅图像可能有多个容器。其文件快照基于映像创建的文件快照。如果启动容器,它将运行您在docker文件CMD
中指定的命令,并将使用部分内存和CPU。您可以启动或停止容器。如果创建容器,则默认情况下不会启动它。这意味着您不能通过端口等与容器通信。您必须先启动它。可以使用docker create <image>
通过图像创建容器。创建容器后,它将在终端中显示ID。可以以docker start <container_id>
开始。
最后,docker run image
是docker create <image>
和docker start <container_id>
的快捷方式。