安装 Docker、Docker-Compose

https://www.cnblogs.com/jhxxb/p/11410816.html

 

安装 Harbor

下载 Harbor(harbor-offline-installer):https://github.com/goharbor/harbor/releases

# 解压
sudo tar -zxf harbor-offline-installer-v2.0.2.tgz
# 进入解压的目录,修改配置
sudo cp harbor.yml.tmpl harbor.yml
sudo vim harbor.yml

修改配置(测试使用,不配置证书)

# 修改地址
hostname: 192.168.8.138

# http related config
http:
  # port for http, default is 80. If https enabled, this port will redirect to https port
  port: 80

# 注释掉 https 访问
# https related config
#https:
  # https port for harbor, default is 443
  #port: 443
  # The path of cert and key files for nginx
  #certificate: /your/certificate/path
  #private_key: /your/private/key/path

# The default data volume
data_volume: /data

安装启动

sudo ./install.sh

Docker Harbor 本地镜像仓库

默认为 80 端口,用户名:admin,密码:Harbor12345

Docker Harbor 本地镜像仓库

停止、重启 Harbor(需要在安装目录下运行)

# Stop Harbor.
sudo docker-compose down -v

# Restart Harbor
sudo docker-compose up -d

开机自启

sudo vim /lib/systemd/system/harbor.service


[Unit]
Description=Harbor
After=docker.service systemd-networkd.service systemd-resolved.service
Requires=docker.service
Documentation=http://github.com/goharbor/harbor

[Service]
Type=simple
Restart=on-failure
RestartSec=5
ExecStart=/usr/bin/docker-compose -f  /opt/harbor/docker-compose.yml up
ExecStop=/usr/bin/docker-compose -f /opt/harbor/docker-compose.yml down

[Install]
WantedBy=multi-user.target


sudo systemctl enable harbor
sudo systemctl start harbor

 

上传镜像

修改 docker push 配置,跳过 https 验证

# 需要配置 insecure-registries
sudo vim /etc/docker/daemon.json


{
  "registry-mirrors": ["https://ke9h1pt4.mirror.aliyuncs.com"],
  "insecure-registries": ["http://xxx.xxx.xxx.xxx", "http://myregistrydomain.com:5000", "0.0.0.0"]
}

# 重启服务
sudo systemctl restart docker

上传

docker tag cd645f5a4769 192.168.8.138/library/mysql:latest
# admin Harbor12345
docker login 192.168.8.138
# 上传
docker push 192.168.8.138/library/mysql:latest

Docker Harbor 本地镜像仓库

批量执行

# 批量 tag
for i in $(docker images | grep ^pig | awk 'BEGIN{OFS=":"}{print $1,$2}');
do
 docker tag $i xxx.xxx.xxx.xxx/xx-name/$i;
done

# 批量 push
for i in $(docker images | grep xx-name | awk 'BEGIN{OFS=":"}{print $1,$2}');
do
 docker push $i;
done

 


https://docs.docker.com/registry/configuration

https://goharbor.io/docs/latest/install-config

相关文章:

猜你喜欢
相关资源
相似解决方案