我正在尝试关注instructions here,以便运行不属于预建Docker容器的Jupyter笔记本。
为了获得包含ID,我在Docker Quickstart Terminal中使用Ctrl + C终止笔记本服务器(笔记本服务器运行时没有响应),我得到了
$ docker ps -lq
0a8f14a15b4f
然后我做了这个
$ docker exec -it 0a8f14a15b4f bash
Error response from daemon: Container 0a8f14a15b4f357352f3c40b6d449e1d9150a0ce79
5fd81c09c00e978ea86163 is not running
那么,发生了什么?我怎么能获得容器ID以便我可以做下面的事情?
docker exec -it [container-id] bash
谢谢!
答案 0 :(得分:0)
使用--name
为容器命名
docker run -d --name containername
然后使用该名称
docker exec -it containername bash
不要忘记用-d
键运行它或在不同终端中运行命令
答案 1 :(得分:0)
docker exec
仅适用于正在运行的容器, ctrl - c 通常会停止/终止容器。
可以运行容器detached,然后命令将新容器ID打印到stdout。
cid=$(docker run --detach <image>)
docker exec -ti $cid bash
如果您仍想查看容器输出,请使用docker logs $cid
答案 2 :(得分:0)
当容器终止时,只需执行此操作即可获取容器ID:
$ docker ps -a
答案 3 :(得分:0)
您可以使用在特定容器内运行的python控制台获取容器内的容器ID。基本上,容器ID只是套接字主机名。您可以通过以下方法获得相同的信息。
import socket; print(socket.gethostname())