我创建了一个容器,-d因此它不是交互式的。docker run -d shykes/pybuilder bin/bash我看到容器已退出:CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESd6c45e8cc5f0 shykes/pybuilder:latest "bin/bash" 41 minutes ago Exited (0) 2 seconds ago clever_bardeen现在,我想在计算机上偶尔运行命令并退出。只是为了得到回应。我试图启动机器。我尝试附加。我以为我可以run用一个容器打电话,但这似乎是不允许的。使用start似乎可以运行,然后迅速存在。我想退出后回到互动模式。我试过了:docker attach d6c45e8cc5f0但是我得到:2014/10/01 22:33:34 You cannot attach to a stopped container, start it first但是,如果我启动它,它仍然会退出。赶上22.我赢不了。
3 回答
慕运维8079593
TA贡献1876条经验 获得超5个赞
容器将退出,因为您给出的命令将结束。使用以下选项可以使其保持活动状态:
-i 即使未连接STDIN,也请保持打开状态。
-t 分配伪TTY。
因此,您的新run命令是:
docker run -it -d shykes/pybuilder bin/bash
如果要附加到已经运行的容器:
docker exec -it CONTAINER_ID /bin/bash
在这些示例中,/bin/bash将其用作命令。
鸿蒙传说
TA贡献1865条经验 获得超7个赞
因此,我认为答案比上面的许多误导性答案更简单。
启动已停止的现有容器
docker start <container-name/ID>
停止正在运行的容器
docker stop <container-name/ID>
然后登录到容器的交互式外壳
docker exec -it <container-name/ID> bash
启动现有容器并将其附加到一个命令中
docker start -ai <container-name/ID>
当心,这将停止出口的容器。但是通常,您需要启动容器,完成后附加并停止它。
- 3 回答
- 0 关注
- 1475 浏览
添加回答
举报
0/150
提交
取消