创建私有仓库
docker pull registry
修改配置文件
vim /etc/docker/daemon.json
{
"insecure-registries": ["192.168.127.3:5000"], 添加
"registry-mirrors": ["阿里云加速地址"]
}
systemctl restart docker.service
docker create -it registry /bin/bash
docker ps -a
docker start 333b3e01726e
挂载容器
宿主机的/data/registry自动创建挂载容器中的/tmp/registry
docker run -d -p 宿主机端口:容器内部端口 -v 宿主机目录:容器内目录 镜像
例:
docker run -d -p 5000:5000 -v /data/registry:/tmp/registry registry
更改标记
更改标记为192.168.127.3:5000/nginx
docker tag nginx:latest 192.168.163.100:5000/nginx
上传
docker push 192.168.163.100:5000/nginx
获取私有仓库
curl -XGET http://192.168.127.3:5000/v2/_catalog
//显示上传成功
(""repositories":[""nginx"")
测试私有仓库下载
docker pull 192.168.127.3:5000/nginx
Docker数据卷和数据卷容器
在创建数据卷和数据卷容器的时候,如果挂载目录不存在,则会自动创建
数据卷
数据卷是一个供容器使用的特殊目录,位于容器中。可将宿主机的目录挂载到数据卷上,对数据卷的修改操作立刻可见,并且更
新数据不会影响镜像,从而实现数据在宿主机与容器之间的迁移。数据卷的使用类似于Linux、下对目录进行的mount操作。
docker pull centos: 7
将宿主机目录/var/www挂载到容器中的/data1上
docker run -v /var/www:/data1 --name test -it centos:7 /bin/bash
cd /data1/
touch test1111
返回宿主机进行查看
ls /var/www/
数据卷容器
//数据卷容器
docker run --name juan -v /data1 -v /data2 -it centos:7 /bin/bash
//新容器挂载数据卷容器juan
docker run -it --volumes-from juan --name test2 centos:7 /bin/bash
小结:数据卷与数据卷容器的区别
数据卷是挂载在宿主机上的
数据卷容器是通过–volumes-from实现容器与容器之间的挂载
端口映射
docker run -d -P httpd:centos7
docker run -d -p 49280:80 httpd:centos7
容器互联(使用centos镜像)
//创建并运行容器取名web11,端口号自动映射
docker run -itd -P --name web11 centos:7 /bin/bash
//创建并运行容器取名web2,链接到web11和其通信进web22容器 ping web1
docker run -itd -P --name web22 --link web11:web11 centos:7 /bin/bash
--link name:alias --link容器名:别名