我经常做以下事情:
docker run -dt myimage
docker ps # This step gives the container id necessary for next step
docker exec -it <container-id> bash
理想情况下,我希望在一条线上完成所有操作
docker run -dt myimage && docker exec -it <id> bash
但是我不知道如何将容器id设置为docker exec
,而不需要在单独的步骤中查找它。
问题
是否有一行程序可以运行映像并将shell装入其容器中?
2条答案
按热度按时间aamkag611#
您可以为正在运行的容器指定一个名称,并以此方式引用它。
您还可以生成一个容器并直接跳转到shell。
或者,您可以在容器内执行单一命令,然后结束。
hof1towb2#
为了进一步了解@GarretHyde伟大的answer,这里有一个很好的命令序列(可以作为带有几个
&&
的单行运行),并将避免任何The container name xxxx is already in use
错误:警告
docker stop $(docker ps -a -q)
部件将stop all running containers以及
docker container prune -f
将删除所有停止的容器因此,请小心,并确保您可以与这两件事发生之前,使用这个。
备注