每当我使用
docker run -i -t ae8c587afa40 / bin / bash命令
它总是使用新ID创建一个新容器。有人可以帮助我如何保存该特定容器,以便每当我退出该容器时,我的数据都不会丢失吗?
答案 0 :(得分:0)
您可以使用以下选项在后台运行容器:
docker run -d --hostname=quickstart.cloudera --privileged=true -t -i -p 7180:7180 -p 8888:8888 -p 10000:10000 -p 8020:8020 -p 9092:9092 -p 9093:9093 -p 9393:9393 -p 9394:9394 -p 24042:24042 4239cd2958c6 /usr/bin/docker-quickstart
-d选项将有助于运行容器,即使您从启动容器的终端退出也是如此。将创建新的容器ID。 docker run命令中存在的ID是映像ID。
答案 1 :(得分:0)
从您退出的Docker容器进入stopped
状态。
您可以使用docker ps -a
查看所有docker容器(正在运行和已停止)。
在此清单中,您将看到您的旧容器。
如果需要重新启动它,可以执行以下操作:
docker start -i <container_id>
这将重新启动已停止的容器。
有关docker start
命令的更多详细信息,请参见-https://docs.docker.com/engine/reference/commandline/start/。
注意:在Docker容器中存储数据不是一个好主意。您应该使用卷或绑定挂载来保存数据。最好将容器视为短暂且不可变的。
编辑:
要从容器中分离而不退出容器中运行的外壳程序/进程,请使用键序列Control + P Control +Q。 参见https://docs.docker.com/engine/reference/commandline/attach/
答案 2 :(得分:0)
有人可以帮助我如何保存该特定容器,以便每当我退出该容器时,我的数据都不会丢失吗?
您不应依赖容器的可重用性。与其在容器内手动执行命令,不如构建包含这些命令的自定义映像。这样,您无需担心启动特定的容器,因为该映像的所有容器都将包含在构建映像时定义的命令。
另一个优点是,您可以通过其Dockerfile或将其推送到存储库来轻松共享映像。
我建议您阅读docs来了解docker的概念。