docker的数据管理和端口映射

Docker数据管理和端口映射

这里接着上次
传送门

  • 配置docker数据卷
  • 配置docekr数据卷容器
  • 配置端口映射转发容器内部服务

一、 配置docker数据卷

1、 创建数据卷目录名字是centos7.201
[root@centos01 ~]# docker run -d --name centos7.201 -v /data1 hub.c.163.com/public/centos:7.2.1511

2、 查看创建的数据卷
默认容器数据卷存放的位置
[root@centos01 ~]# cd /var/lib/docker/volumes/

在这里插入图片描述
3、 登录容器查看创建的数据卷
宿主机创建一个100M的文件拷贝到创建的数据卷中,再创建容器使用数据卷,查看使用数据卷
1)创建测试文件
[root@centos01 ~]# dd if=/dev/zero of=./1.iso bs=10M count=10
2)将测试文件拷贝到数据卷中
[root@centos01 ~]# cp 1.iso /var/lib/docker/volumes/f5739693be73f249607f146bd4f32f21ba0b1007ef1f4a2dba37380e1d0bc46c/_data/

3)登录到centos7.201容器中查看
[root@centos01 ~]# docker exec -it centos7.201 /bin/bash

在这里插入图片描述

二、 配置docker数据卷容器

1、 创建数据卷容器
[root@centos01 ~]# docker run -it -v /date --name dbdatabase hub.c.163.com/public/centos:7.2.1511 /bin/bash
2、 创建容器连接到数据卷容器上
[root@centos01 ~]# docker run -it --volumes-from dbdatabase --name db1 hub.c.163.com/public/centos:7.2.1511 /bin/bash
3、 验证dbdatabase数据卷容器中的容器
在dbdatabase中写入数据1.txt,在容器db1中写入数据2.txt,在db2中查看,如果都有,就验证成功

1) 写入数据
[root@centos01 ~]# touch 1.txt
[root@centos01 ~]# cp 1.txt /var/lib/docker/volumes/95c88a33df6518321ba19591c701c412847dabc1a151d10b0b548cce8dd74e44/_data/

2) 登录数据卷容器查看
[root@centos01 ~]# docker exec -it dbdatabase /bin/bash
[root@5777c634b540 /]# ls date/
1.txt

3) 在db1登录写入数据,在db2中查看数据共享
[root@centos01 ~]# docker exec -it db1 /bin/bash
[root@d542dca8e19b date]# touch 2.txt
[root@d542dca8e19b date]# ls
1.txt 2.txt

4) 创建容器db2,在db2中查看数据共享
[root@centos01 ~]# docker run -it --volumes-from dbdatabase --name db2 hub.c.163.com/public/centos:7.2.1511 /bin/bash
[root@2fd52e17b02d /]# ls date/

四、 配置端口映射转发容器内部服务

1、 配置容器端口映射,映射到随机端口上
创建名为ssh容器映射端口
[root@centos01 ~]# docker run -d -P --name ssh hub.c.163.com/public/centos:7.2.1511

2、 将容器端口映射到宿主机指定的端口上,映射端口范围是49000到49900
[root@centos01 ~]# docker run -d -p 49000:22 --name ssh01 hub.c.163.com/public/centos:7.2.1511

3、 将容器的端口映射到宿主机指定的IP地址和端口上
[root@centos01 ~]# docker run -d -p 192.168.100.10:2222:22 --name ssh02 hub.c.163.com/public/centos:7.2.1511

4、 将容器指定的端口映射到宿主机IP地址的任意端口上
[root@centos01 ~]# docker run -d -p 192.168.100.10::22 --name ssh03 hub.c.163.com/public/centos:7.2.1511

5、 将容器特定的协议端口映射到宿主机指定的IP地址和端口上(这里只有22号端口)
[root@centos01 ~]# docker run -d -p 192.168.100.10:222:22/tcp --name ssh04 hub.c.163.com/public/centos:7.2.1511

6、 查看端口映射信息
[root@centos01 ~]# docker port 加容器名

五、 docker容器部署mysql服务器并发布

1、 宿主机联网开启路由功能
[root@centos01 ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
[root@centos01 ~]# sysctl -p
2、 创建安装mysql容器并发布端口号3306
[root@centos01 ~]# docker run -d -p 192.168.100.10:3306:3306/tcp --name mysql
hub.c.163.com/public/centos:6.7-tools
192.168.100.10:3306->3306/tcp mysql
3、 登录到mysql容器
[root@centos01 ~]# docker start mysql
[root@centos01 ~]# docker exec -it mysql /bin/bash

4、 在容器mysql中安装mysql服务
[root@1bc76a9edb10 /]# yum -y install mysql mysql.servver
5、 启动mysql服务
[root@1bc76a9edb10 /]# service mysqld start
6、 设置mysql登录密码
[root@1bc76a9edb10 /]# mysqladmin -uroot password pwd@123
7、 授权特定的IP地址和账户密码登录容器中的mysql
mysql> grant all on . to ‘tom’@‘192.168.100.10’ identified by ‘pwd@123’;
8、 设置用宿主机登录发布的容器3306端口
宿主机安装客户端登录发布的容器
[root@centos01 ~]# mysql -h 192.168.100.10 -utom -ppwd@123

在这里插入图片描述

六、 docker容器部署apache服务并发布

1、 创建容器apache,发布80号端口到宿主机
[root@centos01 ~]# docker run -d -p 192.168.100.10:80:80/tcp --name apache hub.c.163.com/public/centos:6.7-tools
2、 登录到apche容器
[root@centos01 ~]# docker exec -it apache /bin/bash
3、 安装apche服务
[root@a4724ccee52e /]# yum -y install httpd
4、 启动服务
[root@a4724ccee52e /]# service httpd start
5、登录访问查看

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值