一、Docker的数据管理
- 数据管理操作
- 方便查看容器内产生的数据
- 多容器间实现数据共享
- 两种管理方式
- 数据卷
- 数据卷容器
二、数据卷
- 数据卷是一个提供容器使用的特殊目录
- 数据卷是Docker管理宿主机文件系统的一部分(/var/lib/docker/volumes)是保存数据的最佳方式
- 创建数据卷
docker run -d -v /data1 -v /data2 --name web httpd:centos
- 挂载主机目录作为数据卷
docker run -d -v /var/www:/data1 --name web-1 httpd:centos
三、数据卷容器
-
bind mounts:将宿主机上的任意位置的文件或者目录挂载到容器中。
-
创建数据卷容器
docker run --name web10 -v /data1 -v /data2 -it centos /bin/bash
- x新容器挂载数据卷容器web10
docker run -it --volumes-from web10 --name db1 centos /bin/bash
四、私有镜像仓库搭建
1、下载所需镜像
docker pull registry
2、编辑并修改配置文件
vim /etc/docker/daemon.json
添加一行内容:
"insecure-registries":["192.168.50.140:5000"], ## 逗号不能少,否则待会重启docker会报错
3、创建容器
docker create -it registry bash
4、启动容器
docker start 0eeb3040cfe7 ## start后面跟容器ID号
5、将宿主机的/data/registry自动创建挂载容器中的/tmp/registry
docker run -d -p 5000:5000 -v /data/registry:/tmp/registry registry
6、将要上传仓库的镜像更新打上标签
docker tag nginx:latest 192.168.50.140:5000/nginx
7、获取私有仓库列表
curl -XGET http://192.168.50.140:5000/v2/_catalog
{"repositories":["nginx"]} ## 返回这个说明上传成功
8、上传镜像到仓库
docker push 192.168.50.140:5000/nginx
9、从仓库中下载刚才上传的镜像
docker pull 192.168.50.140:5000/nginx
五、端口映射方法
-
需求:现在想在宿主机上访问容器中的nginx默认web页面
-
步骤:
1、下载nginx镜像
docker pull nginx
2、运行容器
docker run -d -P 192.168.50.140:5000/nginx ## -P 随机指定映射端口
3、查看映射端口号
docker ps -a
4、打开宿主机浏览器,访问192.168.50.140:端口号即可访问到容器内的nginx
六、容器互联
- 需求:让容器1与容器2的网络互通
1、创建容器1
docker run -itd -P --name web1 centos:7
2、创建容器2
docker run -itd -P --name web2 --link web1:web1 centos:7 bash
3、在容器2上使用ping命令测试到容器1是否可以连通,如果可以说明成功