使用 "exit" 后如何保留 docker alpine 容器?
How to retain docker alpine container after "exit" is used?
例如,如果我使用命令 docker run -it alpine /bin/sh
它启动了一个终端,之后我可以安装包和所有的东西。现在,当我使用 exit
命令时,它会返回到终端。 (主要)
那么我怎样才能再次访问同一个容器呢?
当我再次 运行 该命令时,我得到了一个新的 alpine。
请帮忙
只要指定的 运行 命令进程仍在 运行ning,容器就会存在。当您指定 运行 /bin/sh
时,一旦您退出,sh 进程将终止,您的容器也会终止。
如果你想保留容器 运行ning,你必须将进程保留在 运行ning 中。对于你的情况(我不确定你想要达到什么目的,我假设你只是在测试),下面将保留它 运行ning
docker run -d --name alpine alpine tail -f /dev/null
然后你可以sh
使用
进入容器
docker exec -it alpine sh
下面是你应该做的
docker run -d --name myalpine alpine tail -f /dev/null
这将确保您的容器不会死掉。现在,只要你需要在里面安装包,你只需使用 sh
进入容器
docker exec -it myalpine /bin/sh
如果您的容器由于某种原因挂掉了,您仍然可以使用
重新启动它
docker start myalpine
您应该使用 docker start
,它允许您启动已停止的容器。如果您没有为容器命名,则需要使用 docker ps
.
来获取它的 name/id
例如,
$docker ps
CONTAINER ID IMAGE COMMAND
4c01db0b339c alpine bash
$docker start -i -a 4c01db0b339c
拉取镜像
docker image pull alpine
看到那张图片了
docker image ls OR just docker images
看看高山里面有什么
docker run alpine ls -al
现在你的问题是如何留在 shell
docker container run -it alpine /bin/sh
您在 shell 脚本命令行中。某些发行版可能有 bash shell.
docker exec -it 5f4 sh
/ # (<-- you can run linux command here!)
此时可以使用alpine的命令行
ls -al
键入 exit 出来-
您可以 运行 它处于分离模式,它将保持 运行ning。
使用exec命令我们可以再次登录
docker container run -it -d alpine /bin/sh
验证它是 UP 并复制容器 ID 的前 2 -3 位数字
docker container ls
使用exec命令登录
docker exec -it <CONTAINER ID or just 2-3 digits> sh
您需要停止,否则它将保持 运行ning。
docker stop <CONTAINER ID>
运行 背景为高山
$ docker run --name alpy -dit alpine
$ docker ps
附加到高山
$ docker attach alpy
例如,如果我使用命令 docker run -it alpine /bin/sh
它启动了一个终端,之后我可以安装包和所有的东西。现在,当我使用 exit
命令时,它会返回到终端。 (主要)
那么我怎样才能再次访问同一个容器呢? 当我再次 运行 该命令时,我得到了一个新的 alpine。
请帮忙
只要指定的 运行 命令进程仍在 运行ning,容器就会存在。当您指定 运行 /bin/sh
时,一旦您退出,sh 进程将终止,您的容器也会终止。
如果你想保留容器 运行ning,你必须将进程保留在 运行ning 中。对于你的情况(我不确定你想要达到什么目的,我假设你只是在测试),下面将保留它 运行ning
docker run -d --name alpine alpine tail -f /dev/null
然后你可以sh
使用
docker exec -it alpine sh
下面是你应该做的
docker run -d --name myalpine alpine tail -f /dev/null
这将确保您的容器不会死掉。现在,只要你需要在里面安装包,你只需使用 sh
进入容器docker exec -it myalpine /bin/sh
如果您的容器由于某种原因挂掉了,您仍然可以使用
重新启动它docker start myalpine
您应该使用 docker start
,它允许您启动已停止的容器。如果您没有为容器命名,则需要使用 docker ps
.
例如,
$docker ps
CONTAINER ID IMAGE COMMAND
4c01db0b339c alpine bash
$docker start -i -a 4c01db0b339c
拉取镜像
docker image pull alpine
看到那张图片了
docker image ls OR just docker images
看看高山里面有什么
docker run alpine ls -al
现在你的问题是如何留在 shell
docker container run -it alpine /bin/sh
您在 shell 脚本命令行中。某些发行版可能有 bash shell.
docker exec -it 5f4 sh
/ # (<-- you can run linux command here!)
此时可以使用alpine的命令行
ls -al
键入 exit 出来- 您可以 运行 它处于分离模式,它将保持 运行ning。
使用exec命令我们可以再次登录
docker container run -it -d alpine /bin/sh
验证它是 UP 并复制容器 ID 的前 2 -3 位数字
docker container ls
使用exec命令登录
docker exec -it <CONTAINER ID or just 2-3 digits> sh
您需要停止,否则它将保持 运行ning。
docker stop <CONTAINER ID>
运行 背景为高山
$ docker run --name alpy -dit alpine
$ docker ps
附加到高山
$ docker attach alpy