Docker基础(三)

三、Docker数据管理和端口映射
1、数据卷
1)数据卷的作用
实现容器和宿主机数据共享
宿主机数据共享到容器中
数据卷可以挂载多个容器上使用
2)数据卷的特点
方便宿主机和容器以及容器和宿主机数据共享
数据卷数据更新立即生效
数据卷更新不影响镜像
2、配置Docker数据卷
1)创建数据卷目录名字是data1

[root@centos01 ~]# docker run -d --name centos6.701 -v /data1 hub.c.163.com/public/centos:6.7-tools
2)查看创建的数据卷
[root@centos01 ~]# ls /var/lib/docker/volumes/
3)登录容器查看创建的数据卷
[root@centos01 ~]# docker exec -it centos6.701 /bin/bash

3、Docker数据卷容器
1)Docker数据卷容器的作用
需要创建数据卷容器
将数据卷容器共享给其他容器挂载并使用
实现容器和容器数据共享
2)创建数据卷容器,容器的名字dbdatabase

[root@centos01 ~]# docker run -it -v /data --name dbdatabase hub.c.163.com/public/centos:6.7-tools /bin/bash
3)创建容器链接数据卷容器上
[root@centos01 ~]# docker run -it --volumes-from dbdatabase --name db1 hub.c.163.com/public/centos:6.7-tools /bin/bash

4、端口映射
1)端口映射的作用
多个服务容器协同工作,容器之间相互通信
容器端口映射到宿主机通信
端口映射多个容器之间通过容器命令快速访问
2)端口映射的方式
外部访问容器应用
映射所有接口地址
映射到指定IP地址和端口
映射到指定IP地址到宿主机任意端口上
5、配置端口映射

1)将容器ssh的22号端口映射到宿主机的任意IP地址和随机端口上
[root@centos01 ~]# docker run -d -P --name ssh hub.c.163.com/public/centos:6.7-tools
2)将容器端口映射到宿主机指定的端口上,映射端口范围是49000-49900
[root@centos01 ~]# docker run -d -p 49000:22 --name ssh01 hub.c.163.com/public/centos:6.7-tools
3)将容器的端口映射到宿主机指定的IP地址和端口号上,端口范围1~65535
[root@centos01 ~]# docker run -d -p 192.168.100.10:2222:22 --name ssh02 hub.c.163.com/public/centos:6.7-tools
4)将容器指定端口映射到宿主机IP地址的任意端口
[root@centos01 ~]# docker run -d -p 192.168.100.10::22 --name ssh4 hub.c.163.com/public/centos:6.7-tools
5)将容器特定协议的端口映射到宿主机指定的IP地址和端口上
[root@centos01 ~]# docker run -d -p 192.168.100.10:222:22/tcp --name ssh5 hub.c.163.com/public/centos:6.7-tools 
6)查看端口映射信息
[root@centos01 ~]# docker port ssh5

6、Docker容器部署mysql服务发布

1)配置Docker宿主机共享docker容器上网
[root@centos01 ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
2)创建安装MySQL容器并发布端口号
[root@centos01 ~]# docker run -d -p 192.168.100.10:3306:3306/tcp --name mysql hub.c.163.com/public/centos:6.7-tools
3)登录MySQL容器
[root@centos01 ~]# docker exec -it mysql /bin/bash
4)容器中安装MySQL服务
[root@ac53c8e230de /]# yum -y install mysql mysql-server
5)启动容器中的MySQL服务并初始化MySQL
[root@ac53c8e230de /]# service mysqld start
[root@ac53c8e230de /]# chkconfig --level 35 mysqld on
6)设置MySQL登录密码
[root@ac53c8e230de /]# mysqladmin -uroot password pwd@123
7)授权特定IP地址和账户密码登录容器中mysql
[root@ac53c8e230de /]# mysql -uroot -ppwd@123
mysql> grant all on *.* to 'bob'@'192.168.100.10' identified by 'pwd@123';
8)设置用宿主机登录发布的容器3306端口
[root@centos01 ~]# yum -y install mysql
[root@centos01 ~]# mysql -h 192.168.100.10 -ubob -ppwd@123
9)创建accp数据库去docker上查看
MySQL [(none)]> create database accp;
[root@centos01 ~]# docker exec -it mysql /bin/bash
[root@ac53c8e230de /]# mysql -uroot -ppwd@123
mysql> show databases;

7、Docker容器互联
1)Docker容器互联的作用
方便Docker容器之间通信
方便访问
2)Docker容器互联的方式

	Docker容器通过宿主机的docker0网桥IP地址互联
	Docker容器和容器之间互联,通过容器的名字进行访问
3)配置容器之间互联,容器centos03链接到容器centos01
[root@centos01 ~]# docker run -d --name centos03 --link centos01:centos01 hub.c.163.com/public/centos:6.7-tools
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值