blong@mycomputer:~$ docker run --name ubuntuContainer1 -itd ubuntu
2ce602710fb9b84b6530e5a1072961627e91731aba8f8b019f346fc78df08d7c
blong@mycomputer:~$ docker run --name ubuntuContainer2 -itd ubuntu
e32b0eb72456fc23222f3915c91afc77e06a7e37a073b11f7088fabe8fa4bf20
blong@mycomputer:~$ docker run --name ubuntuContainer3 -itd ubuntu
40574f704dceb0378f48ebe01d014d598434093d649be13573911d9833d9825d
确保它们一直运行,即使我没有明确要求运行/bin/bash
blong@mycomputer:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
40574f704dce ubuntu "/bin/bash" 2 seconds ago Up 1 seconds ubuntuContainer3
e32b0eb72456 ubuntu "/bin/bash" 5 seconds ago Up 4 seconds ubuntuContainer2
2ce602710fb9 ubuntu "/bin/bash" 8 seconds ago Up 7 seconds ubuntuContainer1
root@2ce602710fb9:/# apt-get update
# ... omitting output
root@2ce602710fb9:/# apt-get install nodejs
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
libc-ares2 libv8-3.14.5
The following NEW packages will be installed:
libc-ares2 libv8-3.14.5 nodejs
0 upgraded, 3 newly installed, 0 to remove and 5 not upgraded.
Need to get 1912 kB of archives.
After this operation, 7538 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
# ... omitting output
Processing triggers for libc-bin (2.19-0ubuntu6.6) ...
root@2ce602710fb9:/# nodejs --version
v0.10.25
4条答案
按热度按时间mw3dktmi1#
当我需要检查我创建的Docker容器在运行Docker文件中的正常CMD时出现问题时,我会注解掉该命令,并替换为“sleep”命令,以便在容器启动时暂停容器,这样我就可以登录到它并检查安装。
在停靠文件中
登录正在运行的Docker示例
k4aesqcs2#
使用Docker,在CLI中,如果不运行命令,就无法创建容器。如果要使用REST API,可以调用'create'端点而不使用'start'。
不过,我想这对你没什么好处。
在大多数情况下,您可能只想使用bash
docker run -t -i ubuntu bash
运行一个容器,并在那里执行一些操作。一旦您完成了所需的所有操作,就可以提交并从此处运行。不过通常情况下,为了保持清晰的历史记录,最好一次做一步。看看Docker Builder:)
pcww981p3#
您可以构建一个Docker映像,其中包含一个运行命令和其他配置,例如
docker run <image>
将启动容器。最简单的方法是使用Docker Builder中的CMD
。您需要Docker的最新版本(〉0.4.6?)。除了使用Docker Builder之外,还可以查看
docker commit
和docker run
的标志(其中命令参数是可选的)。ozxc1zmp4#
在这里添加一些想法,因为我自己也在玩这个。
假设我想使用3个Docker容器:
确保它们一直运行,即使我没有明确要求运行/bin/bash
我可以把子弹射进容器里
我可以在容器中执行命令(例如安装软件包)
然后,我可以退出,并通过按CTRL-p和CTRL-q保持一切运行
另见: