多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
##后台(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 -d 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 . . . ```