docker私有仓库
下载仓库镜像
docker pull registry
docker images
vi /etc/docker/daemon.json #指定私有仓库位置
{
"insecure-registries": ["20.0.0.11:5000"],
"registry-mirrors": ["https://5mrjn3lu.mirror.aliyuncs.com"]
}
systemctl restart docker #重启
docker create -it registry /bin/bash #创建私有仓库容器
启动registry容器
docker run -d -p 5000:5000 -v /data/registry:/tmp/registry registry
-d 守护进程
-p 端口 5000:5000 前者为对外提供的端口,后者为内部端口
-v 指卷轴的挂载 ,挂在信息为 宿主机上/data/registry目录共给registry容器 的/tmp/registry 目录使用
构建容器的时候使用,挂载 部的路径是会自动生成的。不需要先行创建
curl -XGET http://20.0.0.11:5000/v2/_catalog #查看仓库内容,为空
docker tag nginx:latest 20.0.0.11:5000/nginx #打标签
docker push 20.0.0.11:5000/nginx #上传镜像
docker pull 20.0.0.11:5000/nginx #删除镜像后重新拉取
Docker 数据卷和数据卷容器
数据卷:挂载宿主系统的存储空间
数据卷容器:挂载容器的存储空间(也可以实现容器之间文件的共享)
数据卷(宿主机和容器的挂载)
docker run -v 宿主机挂载点–name 容器名 -it 镜像名
docker run -v /var/www:/data1 --name web1 -it centos:7 /bin/bash
数据卷容器:容器和容器挂载
docker run --name web2 -v /data1 -v /data2 -it centos:7 /bin/bash #创建web2容器,提供data1和data2两个挂载点
在data1和data2中新建文件
另起控制端
docker run -it --volumes-from web2 --name db1 centos:7 /bin/bash #新建db1容器,将web2容器挂载
容器互联
docker run -itd -P --name web1 centos /bin/bash#创建并运行web1容器,端口号自动映射
docker run -itd -P --name web2 --link web1:web1 centos:7 /bin/bash
#创建并运行web2容器,链接到web1和其通信。
docker exec -it 81bd25297294 /bin/bash #进入web2,ping,web1
ping 81bd25297294