我会为您详细介绍docker私有仓库harbor的搭建过程。
一、环境准备
在开始搭建之前,我们需要准备以下环境:
- Ubuntu 18.04 LTS 操作系统(本示例以Ubuntu 18.04 LTS 为例)。
- Docker和Docker Compose。
二、安装Docker和Docker Compose
- 首先更新Ubuntu包管理器。
bash
sudo apt-get update
- 安装Docker和Docker Compose。
``` bash
# 安装Docker
sudo apt-get install -y docker.io
# 安装Docker Compose
sudo apt-get install -y docker-compose
```
三、下载Harbor安装包
- 在GitHub上下载Harbor安装包。在命令行下执行以下命令:
``` bash
# 创建Harbor安装目录
mkdir /opt/harbor
# 下载Harbor安装包
wget https://github.com/goharbor/harbor/releases/download/v2.0.0/harbor-offline-installer-v2.0.0.tgz -O /opt/harbor/harbor-offline-installer-v2.0.0.tgz
```
四、解压安装包并配置Harbor
- 解压Harbor安装包
``` bash
# 进入Harbor安装目录
cd /opt/harbor/
# 解压Harbor安装包
tar xvf harbor-offline-installer-v2.0.0.tgz
```
- 配置Harbor。
进入Harbor解压目录,修改harbor.cfg文件,在 http、hostname、ui_url、db_password、tls_cert、tls_private_key 字段中填入对应内容:
``` bash
# 进入Harbor解压目录
cd /opt/harbor/harbor
# 修改配置文件
vi harbor.cfg
# 将以下字段设置为对应内容
hostname = 192.168.1.100 # 监听的主机IP地址或域名
http_port = 80 # http端口号
https_port = 443 # https端口号
ui_url_protocol = https # 浏览器访问的协议
db_password = mypassword # 数据库密码
tls_cert = /path/to/my/cert.pem # SSL证书
tls_private_key = /path/to/my/key.pem # SSL证书私钥
```
五、安装Harbor
执行以下命令安装Harbor:
# 进入Harbor解压目录
cd /opt/harbor/harbor
# 安装Harbor
sudo ./install.sh
六、验证Harbor安装是否成功
- 检查Harbor容器是否正常运行。
bash
docker ps | grep harbor
展示如下结果:
harbor-log -v /var/log/harbor:/var/log/harbor container-registry.ca
rdinal.2_0_0/harbor-log:v2.0.0
harbor-proxy -v /etc/harbor/:/etc/nginx/conf.d -v /etc/ssl/certs:... container-registry.ca
rdinal.2_0_0/harbor-proxy:v2.0.0
harbor-db --cap-add=IPC_LOCK --network harbor -v /data/database/... container-registry.ca
rdinal.2_0_0/harbor-db:v2.0.0
registry -p 5000:5000 -v /data/registry:/storage --restart=alw... docker.io/library/regist
ry:2
harbor-jobservice -v /common/config/jobservice:/etc/jobservice -v ... container-registry.ca
rdinal.2_0_0/harbor-jobservice:v2.0.0
harbor-ui -v /var/log/harbor/ui:/log -v /data/cert:/etc/nginx/p... container-registry.ca
rdinal.2_0_0/harbor-ui:v2.0.0
- 查看Harbor服务。
打开浏览器,输入http://IP:port/,看看是否能够访问到Harbor服务。
七、使用Harbor
现在,Harbor已经搭建完成,我们可以通过以下步骤使用它:
- 在docker宿主机中登录Harbor。
bash
docker login IP:port
- 为您的Docker镜像打标签。
docker tag IMAGE_ID IP:port/REPO_NAME/IMAGE_NAME:TAG
- 将标记的镜像推送到Harbor。
docker push IP:port/REPO_NAME/IMAGE_NAME:TAG
示范例子
以下是两个示例操作场景。
示例一:从Docker Hub中下载镜像并上传至Harbor
- 从Docker Hub中下载镜像。
bash
sudo docker pull nginx:latest
- 为及时后期上传到Harbor中,给该镜像打一个名为“10.0.0.2/library/nginx”的标记。
bash
sudo docker tag nginx:latest 10.0.0.2/library/nginx
- 推送镜像到Harbor。
bash
sudo docker push 10.0.0.2/library/nginx
示例二:生成本地Docker镜像并上传至Harbor
- 创建一个本地镜像仓库,比如用nginx服务的Dockerfile文件。
bash
mkdir ~/mynginx && cd ~/mynginx
vi Dockerfile
- 在Dockerfile文件中编写内容并保存。
例如:
dockerfile
FROM nginx
COPY . /usr/share/nginx/html
- 构建本地镜像。
bash
# -t 指定本地镜像的名称和标签
sudo docker build -t mynginx:v1 .
- 为及时后期上传到Harbor中,给该镜像打一个名为“10.0.0.2/library/mynginx”的标记。
bash
sudo docker tag mynginx:v1 10.0.0.2/library/mynginx:v1
- 推送镜像至Harbor。
bash
sudo docker push 10.0.0.2/library/mynginx:v1
这就是整个过程的流程,并包含了两个示例操作场景。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:docker私有仓库harbor搭建过程 - Python技术站