Docker container:将自动停止后,“docker run -d”?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (60)

请使用“docker run -d“容器将在后台运行。这就是它的样子,我们可以看到,我们已经有容器ID。

root@docker:/home/root# docker run -d centos
605e3928cdddb844526bab691af51d0c9262e0a1fc3d41de3f59be1a58e1bd1d

但如果我运行“docker ps

所以我试了“docker ps -a“,返回:

root@docker:/home/root# docker ps -a
CONTAINER ID        IMAGE                 COMMAND             CREATED             STATUS                         PORTS               NAMES
605e3928cddd        centos:latest         "/bin/bash"         31 minutes ago      Exited (0) 31 minutes ago                          kickass_swartz

我做错什么了吗?

提问于
用户回答回答于

在这种情况下,您不需要任何附加命令,这就足够了:

docker run -t -d centos

vonc@voncvb:~$ d ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
4a50fd9e9189        centos              "/bin/bash"         8 seconds ago       Up 2 seconds                            wonderful_wright

所以这样做是可行的:

docker run -d centos tail -f /dev/null

docker ps会显示Centos容器还在运行。

用户回答回答于

添加-t标志将防止容器在后台运行时退出。然后你可以用docker exec -i -t <image> /bin/bash进入shell提示符。

docker run -t -d <image> <command>

扫码关注云+社区