如何在Docker中以分离模式运行bash?
docker run -d ubuntu bash
容器将立即退出。 我需要的是保持容器运行,我可以使用exec
login到这个容器。
事实上,我需要在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