如何开机启动docker容器?如何进入docker容器?

回复 星标
更多
如何开机启动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,回到真实世界(宿主机)的命令,就是:

exit

      exit之后,就退出container的命令行,进入到宿主机的命令行环境上了。


转载自:

============================================

作者:苏南大叔【京城,非著名互联网从业人员】

来源:https://newsn.net/say/docker-exec.html

打赏:https://newsn.net/shang.html

加群:https://newsn.net/group.html

============================================

此帖已被锁定,无法回复
新窗口打开 关闭