docker Hub和阿里云都属于公共镜像仓库,涉及到公司隐私问题就需要创建本地私有仓库提供给团队,基于公司内部构建镜像。
私有仓库部署(registry)
docker registry是官方的工具,用来构建私有镜像仓库
拉取registry镜像
这个镜像专门用于搭建私有镜像仓库
运行容器
-d 后台运行
--name 容器名称
-p 5000:5000 主机端口:容器内端口
-v 数据卷
宿主机路径:容器内路径
通过容器数据卷的方式来进行数据的持久化
根据映射,将容器内的数据备份+持久化到宿主机目录
数据持久化:把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)
--privileged=true 开启特权
为解决docker挂载主机目录时报错,容器卷后面必须添加这个参数
默认情况下,容器被创建在容器的/var/lib/registry,建议使用数据卷映射
创建镜像(测试使用)
后面推送私有仓库测试使用
在ubuntu镜像下,安装ifconfig,构建新镜像
格式
docker commit -m "描述信息" -a "作者" 容器ID 生成的镜像名称:版本号
-m 描述
-a 作者
将镜像推送到私有仓库
查看仓库
修改tag
格式:
docker tag 镜像名:版本号 主机IP地址:端口号/镜像名:版本号
修改配置文件
由于安全加固问题,docker私有仓库不支持http推送,需要修改配置文件
添加一行(第一行是我的阿里云加速地址)
"insecure-registries": ["192.168.10.200:5000"]
重启服务
容器全部停止,需要启动容器
进行推送
查看验证
删除原有镜像
拉取镜像
验证
使用拉取的镜像创建容器