数据卷管理和端口发布
一.docker数据
1.数据卷的基本使用
创建数据卷
[root@centos ~]# docker run -it --name centos01 -v /data1 -v /data2 centos07:v1.0 /bin/bash
查看数据卷
[root@centos ~]# ls /var/lib/docker/volumes/
创建1.iso,将1.iso放入容器里
[root@centos ~]# dd if=/dev/zero of=./1.iso bs=10M count=10
[root@centos ~]# cp 1.iso /var/lib/docker/volumes/
[root@centos ~]# cp 1.iso /var/lib/docker/volumes/46b386ecab031008d8b38c7283197c79ae9e506ac3f4aa318de31a608ebeec3e/_data/
进入容器查看
Data2创建2.iso,数据共享宿主机
[root@f84abc367df4 data2]# dd if=/dev/zero of=./2.iso bs=10M count=10
查看
2.数据卷容器的基本使用
删除没用的数据卷
创建数据卷容器
[root@centos ~]# docker run -it -v/data1 --name databases centos07:v1.0 /bin/bash
创建容器连接数据卷容器
[root@centos ~]# docker run -it --volumes-from databases --name centos01 centos07:v1.0 /bin/bash
写入数据1.ISO查看
链接数据库容器
[root@centos ~]# docker run -it --volumes-from databases --name centos02 centos07:v1.0 /bin/bash
宿主机和容器1查看
二.docker容器端口
1.端口映射的应用
删除系统自带yum源
清空数据
开启路由功能
[root@centos ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
保证连网
动态端口映射
[root@centos ~]# docker run -it -P --name httpd centos07:v1.0 /bin/bash
安装服务监听端口
[root@94d284ccfb75 /]# yum -y install httpd
[root@89681766ad24 /]# echo “www.benet.com” > /var/www/html/index.html
启动服务
[root@89681766ad24 /]# httpd
查看端口
[root@89681766ad24 /]# ps -aux | grep httpd
安装elinks
[root@89681766ad24 /]# yum -y install elinks
本地访问
[root@89681766ad24 /]# elinks http://localhost
将docker容器的80端口映射到宿主机的8080端口
清空容器
[root@centos ~]# docker run -it -p 192.168.100.10:8080:80 --name httpd centos07:v1.0 /bin/bash
查看端口
[root@centos ~]# docker port httpd
安装服务
[root@ea52c67b2299 /]# yum -y install httpd
[root@ea52c67b2299 /]# echo “www.benet.com” > /var/www/html/index.html
启动服务
[root@ea52c67b2299 /]# httpd
安装elinks服务
查看
[root@ea52c67b2299 /]# elinks 192.168.100.10:8080
3.配置mariadb
创建mariadb数据卷
[root@centos ~]# mkdir -p /data/mariadb/data
运行mariadb容器
[root@centos ~]# docker run --name mariadb -p 3306:3306 -e MYSQL_ROOT_PASSWORD=pwd@123 -v /data/mariadb/data:/var/lib/mysql -d mariadb
登录容器授权用户访问
[root@centos ~]# docker exec -it mariadb /bin/bash
[root@centos ~]# docker exec -it mariadb /bin/bash
root@27d5a6c1f822:/# mysql -uroot -ppwd@123
MariaDB [(none)]> grant all on . to ‘root’@‘192.168.100.%’ identified by ‘pwd@123’;
客户端访问
安装服务
[root@centos ~]# yum -y install mariadb
[root@centos ~]# mysql -h 192.168.100.10 -uroot -ppwd@123 -P3306