搭建本地私有仓库

141 阅读2分钟

搭建本地私有仓库

添加私有仓库地址并运行

下载registry镜像

[root@localhost ~]# docker pull registry

image.png

将私有镜像仓库地址添加到daemon.json中

[root@localhost ~]# vim /etc/docker/daemon.json
{
 "insecure-registries": ["192.168.42.17:5000"],
 "registry-mirrors": ["https://hfgk9541.mirror.aliyuncs.com"]
}

[root@localhost ~]# systemctl restart docker.service

image.png

image.png

image.png

运行registry容器

[root@localhost ~]# docker run -itd -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest

-itd:表示在容器中打开一个伪终端进行交互操作,并在后台运行
-v:设置挂载
-p:端口映射
-restart=always:重启策略,在容器退出时候总是重启容器
--name registry:创建容器的命名
registry:latest:表示刚刚拉取下来的镜像(也可以直接写镜像名字)

image.png

测试私有仓库

[root@localhost ~]# docker tag centos:7 192.168.42.17:5000/centos:v1
#为镜像打标签
错误:
Error response from daemon: No such image: centos:7
表示没有这个镜像,这个时候需要拉取centos:7这个镜像在执行命令

[root@localhost ~]# docker push 192.168.42.17:5000/centos:v1
#将刚打标签的镜像上传到建立的私有仓库中
[root@localhost ~]# curl http://192.168.42.17:5000/v2/_catalog
#列出私有仓库中所有的镜像

后面使用的v2表示docker的版本现在是第二版本,第一版本已经不使用,如果改成v1会报错

[root@localhost ~]# curl http://192.168.42.17:5000/v2/centos/tags/list
#列出私有仓库中centos镜像有哪些标签
[root@localhost ~]# docker rmi -f eeb6ee3f44bd
#删除原有的centos:7的镜像
[root@localhost ~]# docker pull 192.168.42.17:5000/centos:v1
#再次下载测试私有仓库

image.png

image.png

Harbor

实验环境

服务器名ip地址需要的软件
Harbor服务器192.168.42.17docker-ce,docker-compose、harbor-offline-v1.2.2
client服务器192.168.42.15docker-ce

部署docker-compose服务

上传docker-compose到/usr/local/bin/目录下
[root@localhost ~]# chmod +x /usr/local/bin/docker-compose
#给出执行权限
[root@localhost ~]# docker-compose --version
#查看版本号,有表示安装成功

image.png

部署Harbor服务

下载Harbor安装程序并解压

[root@localhost ~]# tar zxvf harbor-offline-installer-v1.2.2.tgz -C /usr/local/
#解压到指定的目录

image.png

修改harbor安装的配置文件

[root@localhost ~]# vim /usr/local/harbor/harbor.cfg
5 hostname = 192.168.42.17
#将第5行,设置harbor的ip地址或者域名(这边设置ip地址)
59 harbor_admin_password = 1234567
#第59行,指定管理员的出事密码,可以修改也可以默认

image.png

image.png

image.png

启动harbor并查看

[root@localhost ~]# cd /usr/local/harbor/
[root@localhost harbor]# ./prepare
#为harbor的启动生成必要的环境
[root@localhost harbor]# ./install.sh
#拉取并且启动镜像
[root@localhost harbor]# docker-compose ps

image.png

image.png

创建一个新项目

  • 浏览器访问http://192.168.42.17 登录 harbor web ui界面。账户和密码就是之前修改配置文件设置的密码。

image.png

  • 进入页面后,点击“+项目”按钮

image.png

image.png

  • 在使用docker命令在本地通过127.0.0.1来登录和推送镜像。默认情况下,Registry 服务器在端口 80 上侦听。
[root@localhost harbor]# docker login -u admin -p 1234567 http://127.0.0.1

image.png

测试

下载镜像进行测试

[root@localhost harbor]# docker pull nginx
[root@localhost harbor]# docker tag nginx:latest 127.0.0.1/myproject-kgc/nginx:v1
[root@localhost harbor]# docker push 127.0.0.1/myproject-kgc/nginx:v1

image.png

image.png