简体   繁体   English

Docker:当我从同一个容器 ID 启动两个容器时,只有一个 docker 容器运行

[英]Docker: Only one docker container running when I start two containers from the same container ID

In scenario 1 and 3, two docker containers are running.在场景 1 和 3 中,两个 docker 容器正在运行。 But in scenario 2, when I start the container with same container ID(twice), I see only one container running.但是在场景 2 中,当我启动具有相同容器 ID(两次)的容器时,我看到只有一个容器在运行。 What is the logic/reason behind this?(I was expecting two instances to be running)这背后的逻辑/原因是什么?(我期待两个实例正在运行)

SCENARIO 1:场景 1:

$ docker create busybox ping www.google.com 163a5907dcfd7f37be0debb1153f0307a962a7709aa6c418ddab1f833a3bc4b8 $ docker 创建busybox ping www.google.com 163a5907dcfd7f37be0debb1153f0307a962a7709aa6c418ddab8b81f833a3bc4

$ docker create busybox ping www.google.com 178c343d16fe7930b78532d234e735f203cad6a7fa3d932d12c71a433922c2b2 $ docker 创建busybox ping www.google.com 178c343d16fe7930b78532d234e735f203cad6a7fa3d932d12c71a43b3329

$ docker start 163a5907dcfd7f37be0debb1153f0307a962a7709aa6c418ddab1f833a3bc4b8 163a5907dcfd7f37be0debb1153f0307a962a7709aa6c418ddab1f833a3bc4b8 $ docker start 163a5907dcfd7f37be0debb1153f0307a962a7709aa6c418ddab1f833a3bc4b8 163a5907dcfd7f37be0debb1153f0307a962a7709aa6c418ddab1f833a3bc4b8

$ docker start 178c343d16fe7930b78532d234e735f203cad6a7fa3d932d12c71a433922c2b2 178c343d16fe7930b78532d234e735f203cad6a7fa3d932d12c71a433922c2b2 $ docker start 178c343d16fe7930b78532d234e735f203cad6a7fa3d932d12c71a433922c2b2 178c343d16fe7930b78532d234e735f203cad6a7fa3d932d12c71a433922c2b2

$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES $ docker ps 容器 ID 图像命令创建状态端口名称

178c343d16fe busybox "ping www.google.com" About a minute ago Up 11 seconds jovial_maxwell 178c343d16fe busybox "ping www.google.com" 大约一分钟前 上升 11 秒 jovial_maxwell

163a5907dcfd busybox "ping www.google.com" About a minute ago Up 3 seconds relaxed_hofstadter 163a5907dcfd busybox "ping www.google.com" 大约一分钟前 上升 3 秒 Relax_hofstadter

SCENARIO 2:场景 2:

$ docker start 163a5907dcfd7f37be0debb1153f0307a962a7709aa6c418ddab1f833a3bc4b8 $ docker 开始 163a5907dcfd7f37be0debb1153f0307a962a7709aa6c418ddab1f833a3bc4b8

$ docker start 163a5907dcfd7f37be0debb1153f0307a962a7709aa6c418ddab1f833a3bc4b8 $ docker 开始 163a5907dcfd7f37be0debb1153f0307a962a7709aa6c418ddab1f833a3bc4b8

$ docker ps $ docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES容器 ID 图像命令创建状态端口名称

163a5907dcfd busybox "ping www.google.com" 3 minutes ago Up 4 seconds relaxed_hofstadter 163a5907dcfd busybox "ping www.google.com" 3 分钟前 上升 4 秒 Relax_hofstadter

SCENARIO 3:场景 3:

$ docker run busybox ping www.google.com $ docker 运行busybox ping www.google.com

$ docker run busybox ping www.google.com $ docker 运行busybox ping www.google.com

$ docker ps $ docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES容器 ID 图像命令创建状态端口名称

a0880fa44941 busybox "ping www.google.com" 6 seconds ago Up 6 seconds xenodochial_bohr a0880fa44941 busybox "ping www.google.com" 6 秒前 6 秒 xenodochial_bohr

df85aab07d43 busybox "ping www.google.com" 13 seconds ago Up 13 seconds trusting_keldysh df85aab07d43 busybox "ping www.google.com" 13 秒前 13 秒 trusting_keldysh

When you run docker create or docker run , a container is created from the given image, it is assigned a unique ID, and that container is run.当您运行docker createdocker run时,将从给定图像创建一个容器,并为其分配一个唯一 ID,然后运行该容器。 Thus, if you run the same command twice, you get two containers, each with distinct ID, for the same image and you can run them separately.因此,如果你两次运行相同的命令,你会得到两个容器,每个容器都有不同的 ID,用于同一个图像,你可以分别运行它们。

When you start a container by its ID, the command applies to that particular container.当您按其 ID 启动容器时,该命令适用于该特定容器。 When you restart it, it will not do anything because that container is already running.当您重新启动它时,它不会做任何事情,因为该容器已经在运行。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM