目录
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。这个
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,回到真实世界(宿主机)的命令,就是:
exit
exit之后,就退出container的命令行,进入到宿主机的命令行环境上了。
转载自:
作者:苏南大叔【京城,非著名互联网从业人员】
来源:https://newsn.net/say/docker-exec.html
打赏:https://newsn.net/shang.html