Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Windows上保存Docker容器状态_Windows_Docker - Fatal编程技术网

在Windows上保存Docker容器状态

在Windows上保存Docker容器状态,windows,docker,Windows,Docker,我使用 docker-machine.exe create -d virtualbox --virtualbox-memory 2048 default 我使用 docker run -ti ubuntu /bin/bash 我得到了类似于root@ae78cd536ddf:/#我在那里做了几次安装 然后,我退出了bash,当我再次登录时,我找不到我安装的东西。我想做一个docker提交,但不知怎么搞不清楚我安装的东西在哪里 更新 根据答案,我尝试创建一个容器的图像。我已经在一个中编译了所有

我使用

docker-machine.exe create -d virtualbox --virtualbox-memory 2048 default
我使用

docker run -ti ubuntu /bin/bash
我得到了类似于
root@ae78cd536ddf:/#
我在那里做了几次安装

然后,我退出了bash,当我再次登录时,我找不到我安装的东西。我想做一个
docker提交
,但不知怎么搞不清楚我安装的东西在哪里

更新


根据答案,我尝试创建一个容器的图像。我已经在一个中编译了所有命令。

每个
docker run
命令都会创建一个新的容器。bashshell主机名中的id是容器id。您可以提交它


要查看所有容器(包括停止的容器),使用
docker run
执行
docker ps-a

,您可以从
ubuntu
图像创建一个容器。容器的名称为
ae78cd536ddf
(在您的情况下)。您可以分别使用
docker ps-a
docker image
检查图像和容器

每次运行
docker run
,都会创建一个新容器。使用
docker run--name Somename
时,您会强制容器命名为
Somename
,这会阻止您使用相同的名称创建另一个容器

图像是不可变的,这意味着您无法更改它们。因此,当您修改正在运行的容器中的某些内容时,图像保持不变,您可以从同一图像创建更多的容器

因此,在停止容器后(
docker-stop
,退出容器化bash或重新启动),可以运行
docker-start ae78cd536ddf
重新启动它。但它将在后台运行,您将不会有bash(检查
docker ps
以查看它正在运行)。现在您只需要一个bash:
docker exec-it ae78cd536ddf/bin/bash
将在您之前启动的容器中执行一个bash


只是一个关于创建图像的说明。您可能希望安装您一直需要的软件(我个人喜欢vim、htop等),然后
docker提交
容器。这将创建一个新图像,您可以在
docker images
中看到该图像。现在,您可以通过将
ubuntu
替换为您的图像名称来运行此图像中的容器

要获得更多可复制的构建(例如,当使用CI时),可以创建并运行
docker build