如何使用“退出”后保留docker高山容器?

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

那么我怎样才能再次访问同一个容器? 当我再次运行这个命令时,我得到一个新的阿尔卑斯山。

请帮忙

你应该做的是以下

 docker run -d --name myalpine alpine tail -f /dev/null 

这将确保您的容器不会死亡。 现在,无论何时需要安装软件包,只需使用sh进入容器

 docker exec -it myalpine /bin/sh 

如果由于某种原因你的容器死亡,你仍然可以使用它再次启动它

 docker start myalpine 

只要指定的运行命令进程仍在运行,容器将处于活动状态。 当你指定运行/bin/sh ,一旦你退出,sh进程将会死掉,你的容器也会死掉。

如果你想保持你的容器运行,你必须保持进程内运行。 对于你的情况(我不知道你想要达到什么目的,我假设你只是testing),下面将继续运行

 docker run -d --name alpine alpine ping localhost 

然后你可以使用sh进入容器

 docker exec -it alpine sh 

你应该使用docker start ,它允许你启动一个停止的容器。 如果你没有命名你的容器,你需要使用docker ps得到它的名字/ id。

例如,

 $docker ps CONTAINER ID IMAGE COMMAND 4c01db0b339c alpine bash $docker start -i -a 4c01db0b339c