如何在"退出"之后保留码头高山容器用来?

时间:2017-08-11 15:28:09

标签: linux docker alpine

例如,如果我使用命令docker run -it alpine /bin/sh 它启动一个终端,然后我可以安装包和所有。现在,当我使用exit命令时,它会返回终端。 (主要的)

那我怎样才能再次访问同一个容器? 当我再次运行该命令时,我会得到一个新鲜的高山。

请帮忙

4 个答案:

答案 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)

在后台运行Alpine

$ docker run --name alpy -dit alpine
$ docker ps

附加到高山

$ docker attach alpy