Docker详解(六)——Docker高级控制命令

今天继续给大家介绍Linux运维相关知识,本文主要内容是Docker高级控制命令。
在前文Docker详解(五)——Docker基本使用中,我们介绍了Docker的基本使用命令。今天,我给大家介一些Docker的高级控制命令,学习本文能够帮助我们更好的配置使用Docker。

一、Docker容器访问

有时,我们需要在运行Docker并退出后,再次访问控制该Docker。这时,我们可以使用docker attach命令或者是docker exec命令来再次链接该Docker并进入一个访问伪终端。
下面两条命令:

docker attach 【容器名】
docker exec -it 【容器名】 【解释器】

都可以链接进入Docker的终端,但是如果是以attach的方式进入Docker,那么当exit退出后,Docker容器会自动关闭,而如果是以exec的方式进入Docker,那么exit退出后,Docker容器会保持打开状态。
这两条命令执行情况如下:

Docker详解(六)——Docker高级控制命令_第1张图片

二、Docker端口映射

在很多场景下,我们的Docker容器内,要开放指定端口,以向外提供服务,这时,就需要我们配置Docker镜像的端口映射。
我们使用-p参数指定Docker的端口映射情况,docker执行端口映射命令如下:

docker run -d -p 【物理机端口号】:【容器端口号】 【容器名】 

该命令使用示例如下:

docker run -d -p 80:80 docker.io/httpd

执行结果如下:
在这里插入图片描述
接下来,我们查看一下Docker容器的运行情况以及本地端口情况,结果如下:

可以看到,该容器正常运行,且进行了容器的80端口和本地设备的80端口的映射。
我们在本地尝试用浏览器访问,结果如下:
Docker详解(六)——Docker高级控制命令_第2张图片

三、Docker数据映射

最后,我们再来介绍一下Docker的数据映射。
之前我们介绍过,Docker容器的只适合做运算,但是不适合做存储。为了解决这个问题,我们需要进行Docker的数据映射。Docker的数据映射是将Docker容器的指定目录与本地设备的指定目录建立映射关系,Docker容器相当于进行了该目录对本地目录的mount挂载。Docker容器向该目录内写入数据就相当于向本地目录中写入数据。这样,就解决了Docker容器的数据存储问题,同时,由于数据存储在物理设备的目录上,因此及时Docker容器崩溃,Docker容器该目录的数据也不会丢失。
Docker的数据映射使用-v参数来设定,与之前介绍的-p参数类似,-v参数后面先跟本地的一个目录,然后跟冒号,后面再跟Docker容器内的某个目录。
Docker数据映射命令示例如下:

docker run -d -p 80:80 -v /var/www/html/:/usr/local/apache2/htdocs/ docker.io/httpd

该命令执行情况如下:
Docker详解(六)——Docker高级控制命令_第3张图片
在我们想本地的目录下写入一个index.html文件后,我们尝试访问Docker的Apache服务,结果如下所示:
Docker详解(六)——Docker高级控制命令_第4张图片
可以看出,Docker容器与本地设备已经实现了数据映射。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

你可能感兴趣的:(虚拟化运维,Docker,容器,端口映射,数据映射,Linux)