Docker私有服务器搭建
-
简介
在 Docker 中,当我们执行 docker pull xxx 的时候 ,它实际上是从 registry.hub.docker.com 这个地址去查找,这就是Docker公司为我们提供的公共仓库。在工作中,我们不可能把企业项目push到公有仓库进行管理。所以为了更好的管理镜像,Docker不仅提供了一个中央仓库,同时也允许我们搭建本地私有仓库。
-
harbor的搭建
- 下载地址 下载安装包
- 在本地进行解压
tar -xvf harbor-offline-installer-v1.2.2.tgz
- 修改IP地址与端口号,将harbor.yml.tmpl修改为harbor.yml并在其中修改
hostname = 192.168.31.143:9090
- 通过运行 install.sh 构建镜像,并把服务启动起来:
./install.sh
-
使用:直接访问http://127.0.0.1:9090/(此处需要根据对应的IP与端口号进行修改),默认 admin 用户的密码为 Harbor12345登录后可进行修改
-
上传本地镜像文件
- 首先登录私有仓库
docker login -u admin -p Harbor12345 127.0.0.1:9090
- 要通过docker tag将该镜像标志为要推送到私有仓库
docker tag nginx:latest 127.0.0.1:9090/library/nginx:latest
- 上传镜像:
docker push 127.0.0.1:9090/library/nginx:latest
-
上传完成就可以在其它的服务器中进行下载启动了
-
遇到的问题
- 如果docker版本过低需要对docker的版本进行升级
- 如果提示关于https相关错误需要把https中的相关配置注释掉harbor.yml
- 问题:Error response from daemon: Get https://140.143.249.40:80/v2/: dial tcp 140.143.249.40:80: connect: connection refused 需要发下处理
#如果没有这个文件需要创建一个文件 vi /etc/docker/daemon.json { "insecure-registries":["IP:port"] } #增加完成相关配置后需要重启服务 systemctl daemon-reload systemctl restart docker
-
其它如何下载运行这个镜像文件
- 登录么有服务器,因为你创建的项目不是一个公开的,如果是公开的就不需要登录了,下载完成后直接运行就可以了
docker login -u admin -p Harbor12345 127.0.0.1:9090 docker pull 127.0.0.1:9090/myproject/netpartrol@tag
- 运行
#--add-host=myhostname 设置hosts文件 docker run --add-host=myhostname:127.0.0.1 -d -p 8081:8081 58.22.5.82:9001/myproject/netpartrol