mirror of
https://github.com/yeasy/docker_practice.git
synced 2024-11-01 04:03:39 +00:00
a435453b80
docker run -d 的含义是在后台运行容器并且输出容器的ID(Run container in background and print container ID),而不是以守护态运行容器。
1.4 KiB
1.4 KiB
##后台(background)运行
更多的时候,需要让 Docker在后台运行而不是直接把执行命令的结果输出在当前宿主机下。此时,可以通过添加 -d
参数来实现。
下面举两个例子来说明一下。
如果不使用 -d
参数运行容器。
$ sudo docker run ubuntu:14.04 /bin/sh -c "while true; do echo hello world; sleep 1; done"
hello world
hello world
hello world
hello world
容器会把输出的结果(STDOUT)打印到宿主机上面
如果使用了 -d
参数运行容器。
$ sudo docker run ubuntu:14.04 /bin/sh -c "while true; do echo hello world; sleep 1; done"
77b2dc01fe0f3f1265df143181e7b9af5e05279a884f4776ee75350ea9d8017a
此时容器会在后台运行并不会把输出的结果(STDOUT)打印到宿主机上面(输出结果可以用docker logs 查看)。
注: 容器是否会长久运行,是和docker run指定的命令有关,和 -d
参数无关。
使用 -d
参数启动后会返回一个唯一的 id,也可以通过 docker ps
命令来查看容器信息。
$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
77b2dc01fe0f ubuntu:14.04 /bin/sh -c 'while tr 2 minutes ago Up 1 minute agitated_wright
要获取容器的输出信息,可以通过 docker logs
命令。
$ sudo docker logs [container ID or NAMES]
hello world
hello world
hello world
. . .