Docker教程(三) Docker网络访问和数据管理

 

 

Docker教程() Docker网络访问和数据管理

 

 

1 docker网络访问

1.1 配置docker网络

1、查看已有网桥:

如果没有brctl show命令,则需要安装,执行命令:yum install -ybridge-utils,每运行一个docker容器都会创建一个网桥接口。

Docker教程(三) Docker网络访问和数据管理_第1张图片


 

2、查看路由:

执行命令:ip ro li


 

3、查看docker网络地址:

如果没有ifconfig命令,则需要安装,执行命令:yum install -y net-tools

执行命令:ifconfig

Docker教程(三) Docker网络访问和数据管理_第2张图片

 

1.2 docker端口随机映射

1、随机映射:

执行命令:docker -P,字母P大写。

重新启动一个docker容器,使用网易163提供的第三方镜像,将端口32768映射到80端口


 

验证结果:

Docker教程(三) Docker网络访问和数据管理_第3张图片

1.3 docker端口指定映射

1、指定端口映射

将本机65端口映射到容器80端口

执行命令:docker run -d -p 65:80 --name myngnix4 hub.c.163.com/library/nginx


Docker教程(三) Docker网络访问和数据管理_第4张图片

2、端口映射支持的格式

文档中不再做演示,大家回头自己实践。

说明

命令

指定主机端口

-p hostPort:containerPort

指定主机IP地址+主机端口+容器端口

-p ip:hostPort:containerPort

指定主机IP地址+容器端口

-p ip::containerPort

指定多端口:

(主机端口+容器端口)+ (主机端口+容器端口)

-p hostPort:containerPort

-p hostPort:containerPort

 

2 docker数据管理

生产环境中使用Docker的过程中,往往需要对数据进行持久化,或者需要在多个容器之间进行数据共享,这必然涉及容器的数据管理操作。

容器中管理数据主要有两种方式:

1、数据卷(DataVolumes):容器内数据直接映射到本地主机环境;如何在容器内创建数据卷,并且把本地的目录或文件挂载到容器内的数据卷中。

2、数据卷容器(DataVolume Containers):使用特定容器维护数据卷。如何使用数据卷容器在容器和主机、容器和容器之间共享数据,并实现数据的备份和恢复。

 

2.1 数据卷

数据卷是一个可供容器使用的特殊目录,它将主机操作系统目录直接映射进容器,类似于Linux中的mount操作。

1、数据卷可以提供很多有用的特性,如下所示:

1.数据卷可以在容器之间共享和重用,容器间传递数据将变得高效方便;

2.对数据卷内数据的修改会立马生效,无论是容器内操作还是本地操作;

3.对数据卷的更新不会影响镜像,解耦了应用和数据;

4.卷会一直存在,直到没有容器使用,可以安全地卸载它。

2、挂载数据卷:

语法1-v /data

容器内创建路径/data,它存在于联合文件系统外部并可以在主机上直接访问。可以安任何在该镜像/data路径的文件将被复制到volume

执行命令:docker run -it --name volume_centos -h volume_centos_hostname -v /data centos


从主机上进入data文件夹,新建文件:


执行命令:echo "hello world" > /data/hello.txt

使用docker inspect命令找出Volume在主机存储的路径,执行命令:docker inspect volume_centos | grep Mounts -A 10

Docker教程(三) Docker网络访问和数据管理_第5张图片

进入映射路径,在主机上的路径下的/data/hello.txt文件,会出现在/var/lib/docker/volumes/3a9cbd846966db142fa5911e9d1e8338cddefa11f5794f3c5cb58156576b9056/_data路径下。反之,在/var/lib/docker/volumes/3a9cbd846966db142fa5911e9d1e8338cddefa11f5794f3c5cb58156576b9056/_data路径下操作,也会出现在的主机的/data/路径,两者是两通的。


 

语法2-v src:dst

主机的src源目录,映射到容器的dst目标路径,语法中间用冒号间隔。

执行命令:docker run -it --name volume_centos2 -h volume_centos_hostname2 -v /opt:/opt  centos


执行完命令后,会进入容器中:docker run -it --name volume_centos2 -h volume_centos_hostname2 -v /opt:/opt  centos

主机的/opt目录和容器的/opt目录,两者是共享的、两通的。

 

2.2 数据卷容器

语法1--volumes-from

挂载容器目录,指定数据卷来自其它的容器,使用--volumes-from参数所挂载数据卷的容器自身并不需要保持在运行状态。

Docker教程(三) Docker网络访问和数据管理_第6张图片

 

 


                --以上为《Docker教程(三) Docker网络访问和数据管理》,如有不当之处请指出,我后续逐步完善更正,大家共同提高。谢谢大家对我的关注。

                                                                                                                                                                                      ——厚积薄发(yuanxw)


你可能感兴趣的:(Docker教程)