docker学习及项目应用实战(五搭建自己的私有仓库)

文章目录

  • 引言
  • 搭建过程
  • 常见问题解决
    • 问题一docker-compose未安装
    • 问题2 harbor 端口占用问题(端口映射)

引言

在 Docker 中,执行 docker pull xxx 的时候 ,它实际上是从 registry.hub.docker.com 这个地址去查找,这就是Docker公司为我们提供的公共仓库。在实际工作中,公司不太会允许把企业项目push到公有仓库进行管理。所以为了更好的管理镜像,Docker不仅提供了一个中央仓库,同时也允许我们搭建本地私有仓库。搭建私有仓库的方法有两种registry、harbor。第一种方法是官方提供的一个搭建私有仓库的镜像 registry ,只需把镜像下载下来,运行容器并暴露5000端口,就可以使用了。但这种方法命令简单,但管理的功能上存在不足,所以我选择了第二种方法。

搭建过程

下载
地址:https://github.com/goharbor/harbor/releases 目前版本是v2.1.2,不知道是家里的网络问题,还是下载源限速(此可能性比较大),下载竟然需要7个小时,没有耐心的我再次求助百度云。只找到了1.1.2版本,勉强用吧。

配置
解压下载的安装包 harbor-offline-installer-v1.1.2.tgz

tar -xvf harbor-offline-installer-v1.1.2.tgz
修改 harbor.cfg

#hostname 改为本地ip,可以不指定端口
hostname = 192.168.31.143:2080

运行./install.sh即可构建镜像,并把服务启动起来:

#./install.sh

harbor的停止:

#/usr/local/bin/docker-compose stop

常见问题解决

问题一docker-compose未安装

安装harbor时出现docker-compose未安装的错误。
在这里插入图片描述
安装docker-compose非常简单,首先保证服务器上安装了pyton,docker-compose已经不支持python2的版本了,用python2安装后运行会报错,早期版本的linux自带的python都是python2,所以需要先装一个python3,然后输入一下命令:

#pip install docker-compose

安装的时间会比较长,耐心等等,默认安装目录在 /usr/local/bin/目录下,安装后运行一下命令检查结果:

#docker-compose --version
docker-compose version 1.27.4, build unknown

中间还遇到用pyton2安装的各种问题,建议就不要去挑战了,装个python3解决一切问题。

问题2 harbor 端口占用问题(端口映射)

harbor默认端口是80,但是我的80端口已经被git仓库占用了。所以在安装启动的时候失败,报错为:端口被占用。所以我将端口修改为2080。
第一次尝试修改harbor.cfg文件

#The IP address or hostname to access admin UI and registry service.
#DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.
hostname = 127.0.0.0:2020

保存后,重新启动hardor,仍然不成功,报端口被占用,尴尬了。

第二次尝试在hardor目录下修改docker-compose.yml文件将8080端口映射为2080端口:

#vi docker-compose.yml

proxy:
    image: nginx:1.11.5
    container_name: nginx
    restart: always
    volumes:
      - ./common/config/nginx:/etc/nginx
    ports:
      - 2080:80
      - 443:443
    depends_on:
      - mysql
      - registry
      - ui
      - log

保存后,重启,总算大功告成,但是此时要提醒,第一步将端口改成2020,是没有用的,而且在启动的时候还会出现一下代码片段,是及其具有迷惑性的,实际访问的端口应该是2080,所以第一步的修改是非常多余和错误的(这个端口或许是有用的,后面使用的时候会再做介绍)。

✔ ----Harbor has been installed and started successfully.----

Now you should be able to visit the admin portal at http://ip:2020 . 
For more details, please visit https://github.com/vmware/harbor .

你可能感兴趣的:(开发过程中的运维,docker)