1
、拉取镜像,安装密码工具
#
安装
htpasswd
工具。
yum -y install httpd-tools
#
拉取官方私服镜像,可以不指定版本,拉取最新的
docker pull registry:2.7.1
2
、启动私有仓库容器
#
创建本地目录用于存储镜像
mkdir
-p
/opt/docker-image/registry
----
上传的镜像存储磁盘目录
mkdir
-p
/data/docker.registry/etc/registry/auth
----
登录私服密码存储目录
#
创建本地密码【私服的密码】
htpasswd
-Bbn
用户名 密码
> /data/docker.registry/etc/registry/auth/passwd
#
启动私有仓库【端口注意占用
5000
】
docker run
-itd -p
5000
:5000 \
-v
/opt/docker-image:/opt/docker-image \
-v
/data/docker.registry/etc/registry/auth:/etc/registry/auth \
-e
"REGISTRY_AUTH=htpasswd"
\
-e
"REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm"
\
-e
"REGISTRY_AUTH_HTPASSWD_PATH=/etc/registry/auth/passwd"
\
--privileged
=
true
--name
registry
--restart
=
always registry:2.7.1
3
、访问私服
打开浏览器 输入地址
http://
私有仓库服务器
ip:5000/v2/_catalog
ps
:若看到
{"repositories":[]}
则表示私有仓库搭建成功
这里私服虽然构建成功,但是我们还要配置
docker
跟私服的关联,不然
docker
不会去我们搭建私服拉取镜像
4
、
docker
添加私服仓库地址
ps
:此处和设置阿里云镜像加速器的位置一样
#
编辑配置文件
vi /etc/docker/daemon.json
#
增加仓库配置信息
#
在
daemon.json
中添加以下
key
,保存退出。此步用于让
docker
信任私有仓库地址
"insecure-registries":["
私服所在
ip:5000"]
5
、重启
docker
#
重启
docker
守护进程
sudo systemctl daemon-reload
#
重启
docker
服务
sudo systemctl restart docker
6
、查看
docker
信息确认仓库是否添加
docker info
7
、上传镜像
#
登录私服
---
登录一次即可
docker login -u
用户名
-p
密码 私有仓库
ip:
端口
#
给镜像打标签,
tag
用于后续推送时,区分要推送的仓库,例如安装了好几个私服,推送的代码都是
docker
push
,推送给谁只能用
tag
区分
docker tag
镜像
:
版本 私有仓库
ip:
端口
/
镜像
:
版本
#
推送私有仓库
docker push
私有仓库
ip:
端口
/
新镜像名
:
版本
8、浏览器查看上传的镜像
http://
私服
ip:5000/v2/
镜像的名字
/tags/list
![](https://i-blog.csdnimg.cn/blog_migrate/58fb6079d88ada3d513519d336884657.png)
9
、从私服拉取镜像
docker pull
私服
ip:5000/
镜像名
:
版本
![](https://i-blog.csdnimg.cn/blog_migrate/0987d4bf5d038dd39bdf13c10c075fb6.png)