如何开机启动docker容器?如何进入docker容器?
发布于 作者:苏南大叔 来源:程序如此灵动~
docker的普及已经不可阻挡,现在很多软件或服务都已经docker化了。本文讲,苏南大叔讲述的是:docker image镜像与docker container容器的事情。

本文默认,你已经下载安装好了docker,并且也下载好了一些镜像。如果还没有,您可以参考苏南大叔以前的文章,详见文末链接。在运行后面的语句之前,请确认本地的docker服务已经开启。
读者朋友如果已经熟练掌握了docker run、docker start、以及docker ps的话,那么,下一个应该知晓的命令就是docker exec。
查看已有容器
查看运行中的container容器,脚本如下:
docker ps查看所有的container容器(可能一些容器,并没有启动,处于停止状态),脚本如下:
docker ps -a如果没有运行docker服务的话,您可能会看到下面的错误输出。
docker ps
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
启动container容器
使用docker ps查看容器列表后,如果你的目标容器,并没有启动。那么请不要着急,请仔细看docker ps -a的最后一个项目names。这个<name>还可以用<containerid>来代替,就是列表中第一列中,那个长长的无序字母组合,就是id。
docker start <name>比如,这里假设这个name就是root_App1_1。那么,启动root_App1_1这个容器的命令就是:
docker start root_App1_1宿主机重启后自动启动容器
可以执行如下命令设置--restart=always,使得重启宿主机后,还会自动启动该容器。
前提有两个:
- 宿主机
system enable docker。就是说:宿主机开机时,会自动启动docker服务。 - 已经
docker start了该container。
// docker start <name>
docker update --restart=always <name>同理,如果不想让这个容器随着宿主机重启而重启的话,则应该设置--restart=no。
//docker start <name>
docker update --restart=no <name>进入container
这一步是个需要角色转换的步骤,因为看到的命令行内容,从宿主机会变身为镜像内的bash。
命令就是:
docker exec -it <name> /bin/bash假如容器名为root_App1_1,那么:
docker exec -it root_App1_1 /bin/bash进入到了container之后,其实就是进入了另外一个简化版的centos服务器(一般来说,是centos)。此时,命令行里面的命令操作,都是针对container操作的了,而不是宿主机。这点要额外重点注意一下。
退出container
在container里面,修改了你所需要的事项后,退出container,回到真实世界(宿主机)的命令,就是:
exitexit之后,就退出container的命令行,进入到宿主机的命令行环境上了。
相关文章
- 《centos服务器,如何一键安装最新稳定版docker》
https://newsn.net/say/docker-install-centos-onekey.html
- 《centos服务器,如何通过yum安装特定版本的docker》
https://newsn.net/say/docker-install-centos-yum-2.html
- 《centos服务器,如何通过yum安装最新稳定版docker》
https://newsn.net/say/docker-install-centos-yum.html
总结
使用docker命令行,进入到container的命令方法,就如本文所示了。更多内容,请关注苏南大叔的博客docker相关文章教程。