更多的时候,需要让 Docker 在后台运行而不是直接把执行命令的结果输出在当前宿主机下。此时,可以通过添加 -d 参数来实现。
下面举两个例子来说明一下。
如果不使用 -d 参数运行容器。
$ docker run ubuntu:18.04 /bin/sh -c "while true; do echo hello world; sleep 1; done"
hello world
hello world
hello world
hello world
容器会把输出的结果 (STDOUT) 打印到宿主机上面
如果使用了 -d 参数运行容器。
$ docker run -d ubuntu:18.04 /bin/sh -c "while true; do echo hello world; sleep 1; done"
77b2dc01fe0f3f1265df143181e7b9af5e05279a884f4776ee75350ea9d8017a
此时容器会在后台运行并不会把输出的结果 (STDOUT) 打印到宿主机上面(输出结果可以用 docker logs 查看)。
注: 容器是否会长久运行,是和 docker run 指定的命令有关,和 -d 参数无关。
使用 -d 参数启动后会返回一个唯一的 id,也可以通过 docker container ls 命令来查看容器信息。
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
77b2dc01fe0f ubuntu:18.04 /bin/sh -c 'while tr 2 minutes ago Up 1 minute agitated_wright
要获取容器的输出信息,可以通过 docker container logs 命令。
$ docker container logs [container ID or NAMES]
hello world
hello world
hello world
. . .
📂 分类导航
-
▶
学与练
- ▶ 软件技术基础
- ▶ 前端开发技术
-
▶
后端开发技术
- ▶ 编程语言
- ▶ 中间件
-
▶
数据库
- MySQL
- SQLServer
- ▶ Dameng
- clickhouse
- Duckdb
-
▶
数据开发与运维
- ▶ 数据开发
-
▶
运维开发
- ▶ CI/CD
- ▶ 自动化
- ▶ 日志处理
- ▶ 监控
- 软件入门教程
- ▶ 课程库
-
▶
软件园
- AI智能体与应用
- ▶ 开发工具与环境
- AI 开发和编排
- 业务与生产力应用
- 数据和中间件
- ▶ 工具箱