如何在Docker中以分离模式运行bash?

docker run -d ubuntu bash容器将立即退出。 我需要的是保持容器运行,我可以使用execlogin到这个容器。

事实上,我需要在bash脚本中做这些事情:

 docker run -it ubuntu bash docker run -it centos bash 

但它不起作用。

你为什么要持续运行bash ? 一个简单的解决scheme是:

 docker run centos sleep inf 

这将永远运行sleep ,所以容器不会退出。 现在你可以将docker exec放到你想要的地方了。

另一个select是一起使用-i-d (我期望它们是互斥的,并且惊讶地发现它们不是)

看到下面的示例输出,我用-itd标志启动了一个Ubuntu容器,然后等了几分钟,然后运行docker ps以确认容器仍在运行。

 > docker run -itd ubuntu 03c55e9ba9de3e0b80ad9f3e0629dc63f4ab65291b79e133af2b392030ffc17d > docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 03c55e9ba9de ubuntu "/bin/bash" 2 minutes ago Up 2 minutes gallant_hypatia