我使用
创建一个docker容器docker-machine.exe create -d virtualbox --virtualbox-memory 2048 default
我使用
登录bash
docker run -ti ubuntu /bin/bash
我得到了类似root@ae78cd536ddf:/#
的内容,其中我做了几个apt-get install
。
然后,我退出了bash,当我再次登录时,我找不到我安装的内容。我想做一个docker commit
,但我不知道我的安装内容是什么?
更新
根据答案,我尝试创建容器的图像。我已经在gist中编译了所有命令。
答案 0 :(得分:2)
使用docker run
,您可以从ubuntu
图片创建容器。容器的名称为ae78cd536ddf
(在您的情况下)。您可以分别使用docker ps -a
和docker images
检查图像和容器。
每次运行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 commit
容器。这将创建一个您可以在docker images
中看到的新图像。现在,您可以通过将ubuntu
替换为图像名称来运行此图像中的容器。
要获得更多可重复的构建(例如,使用CI时),您可以创建Dockerfile并运行docker build
。
答案 1 :(得分:1)
每个docker run
命令都会创建一个新容器。 bash shell的主机名中的id是容器ID。你可以提交。
要查看所有容器(包括已停止的容器),请执行docker ps -a
。