例如,如果我使用命令docker run -it alpine /bin/sh
它启动一个终端,然后我可以安装包和所有。现在,当我使用exit
命令时,它会返回终端。 (主要的)
那我怎样才能再次访问同一个容器? 当我再次运行该命令时,我会得到一个新鲜的高山。
请帮忙
答案 0 :(得分:3)
拉出图片
docker image pull alpine
看到那里的图片
docker image ls OR just docker images
看看高山里面有什么
docker run alpine ls -al
现在您的问题是如何留在外壳上
docker container run -it alpine /bin/sh
您位于Shell脚本命令行中。一些发行版可能包含bash shell。
docker exec -it 5f4 sh
/ # (<-- you can run linux command here!)
此时,您可以使用alpine的命令行并执行
ls -al
类型的出口出来- 您可以在分离模式下运行它,它将继续运行。
使用exec命令,我们可以再次登录
docker container run -it -d alpine /bin/sh
确认已启动,并复制容器ID的前2个-3位数字
docker container ls
使用exec命令登录
docker exec -it <CONTAINER ID or just 2-3 digits> sh
您将需要停止,否则它将继续运行。
docker stop <CONTAINER ID>
答案 1 :(得分:2)
您应该使用docker start
,它允许您启动已停止的容器。如果您没有为容器命名,则需要使用docker ps
获取其名称/ ID。
例如,
$docker ps
CONTAINER ID IMAGE COMMAND
4c01db0b339c alpine bash
$docker start -i -a 4c01db0b339c
答案 2 :(得分:1)
你应该做的是
docker run -d --name myalpine alpine tail -f /dev/null
这样可以确保您的容器不会死亡。现在,无论何时需要在内部安装软件包,只需使用sh
进入容器内部即可docker exec -it myalpine /bin/sh
如果由于某种原因你的容器死了,你仍然可以使用
再次启动它docker start myalpine
答案 3 :(得分:1)
$ docker run --name alpy -dit alpine
$ docker ps
$ docker attach alpy