docker内网yum源,harbor创建,openstack内网yum源

yum源地址修正

修改Base基础yum源

因为centos7官方已经不再维护修改成清华的yum源

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
cat > /etc/yum.repos.d/CentOS-Base.repo <<EOF
[base]
name=CentOS-\$releasever - Base - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=\$releasever&arch=\$basearch&repo=os
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.9.2009/os/\$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-\$releasever - Updates - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=\$releasever&arch=\$basearch&repo=updates
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.9.2009/updates/\$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful
[extras]
name=CentOS-\$releasever - Extras - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=\$releasever&arch=\$basearch&repo=extras
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.9.2009/extras/\$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-\$releasever - Plus - 163.com
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.9.2009/centosplus/\$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

EOF

elrepo扩展yum源

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
cat > /etc/yum.repos.d/elrepo.repo <<EOF
### Name: ELRepo.org Community Enterprise Linux Repository for el7
### URL: https://elrepo.org/

[elrepo]
name=ELRepo.org Community Enterprise Linux Repository - el7
baseurl=https://mirrors.tuna.tsinghua.edu.cn/elrepo/elrepo/el7/\$basearch/
http://mirrors.coreix.net/elrepo/elrepo/el7/\$basearch/
http://mirror.rackspace.com/elrepo/elrepo/el7/\$basearch/
http://linux-mirrors.fnal.gov/linux/elrepo/elrepo/el7/\$basearch/
mirrorlist=http://mirrors.elrepo.org/mirrors-elrepo.el7
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
protect=0

[elrepo-testing]
name=ELRepo.org Community Enterprise Linux Testing Repository - el7
baseurl=https://mirrors.tuna.tsinghua.edu.cn/elrepo/testing/el7/\$basearch/
http://mirrors.coreix.net/elrepo/testing/el7/\$basearch/
http://mirror.rackspace.com/elrepo/testing/el7/\$basearch/
http://linux-mirrors.fnal.gov/linux/elrepo/testing/el7/\$basearch/
mirrorlist=http://mirrors.elrepo.org/mirrors-elrepo-testing.el7
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
protect=0

[elrepo-kernel]
name=ELRepo.org Community Enterprise Linux Kernel Repository - el7
baseurl=https://mirrors.tuna.tsinghua.edu.cn/elrepo/kernel/el7/\$basearch/
http://mirrors.coreix.net/elrepo/kernel/el7/\$basearch/
http://mirror.rackspace.com/elrepo/kernel/el7/\$basearch/
http://linux-mirrors.fnal.gov/linux/elrepo/kernel/el7/\$basearch/
mirrorlist=http://mirrors.elrepo.org/mirrors-elrepo-kernel.el7
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
protect=0

[elrepo-extras]
name=ELRepo.org Community Enterprise Linux Extras Repository - el7
baseurl=https://mirrors.tuna.tsinghua.edu.cn/elrepo/extras/el7/\$basearch/
http://mirrors.coreix.net/elrepo/extras/el7/\$basearch/
http://mirror.rackspace.com/elrepo/extras/el7/\$basearch/
http://linux-mirrors.fnal.gov/linux/elrepo/extras/el7/\$basearch/
mirrorlist=http://mirrors.elrepo.org/mirrors-elrepo-extras.el7
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
protect=0

EOF

docker yum源

1
2
3
4
5
6
7
8
9
10
cat > /etc/yum.repos.d/docker-ce.repo <<EOF
[docker-ce-stable]
name=Docker CE Stable - \$basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/\$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
module_hotfixes=true
EOF

k8s yum源

1
2
3
4
5
6
7
8
9
cat > /etc/yum.repos.d/kubernetes.repo <<EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

更新缓存

1
yum clean all && yum makecache

下载依赖rpm包

安装yum工具

1
2
yum install -y yum-utils createrepo
mkdir -p /data/yum-repo

下载docker rpm包与依赖.

1
2
yumdownloader --resolve docker-ce-23.0.3-1.el7  --destdir /data/yum-repo/docker-ce
createrepo -d /data/yum-repo/docker-ce

下载k8s rpm包与依赖

1
2
yumdownloader --resolve kubeadm-1.28.2 --destdir /data/yum-repo/k8s
createrepo -d /data/yum-repo/k8s

其他rpm 需要手工下在

1
mkdir -p  /data/yum-repo/other

cri-docker

1
2
cd /data/yum-repo/other
wget https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.4/cri-dockerd-0.3.4-3.el7.x86_64.rpm

docker-compose

自行在github下载

1
2
cd /data/yum-repo/other
wget https://github.com/docker/compose/releases/download/v2.32.0/docker-compose-linux-x86_64

openstack yum源

openstack yum有另外一套的base目录 .避免版本冲突.将原有的repo先置为失效

1
2
3
mkdir  /etc/yum.repos.d/repo_bak
cd /etc/yum.repos.d
mv *repo repo_bak/

openstack yum源

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
cat > /etc/yum.repos.d/OpenStack.repo <<EOF
[base]
name=base
baseurl=http://repo.huaweicloud.com/centos/7/os/x86_64/
gpgcheck=0
enable=1

[extras]
name=extras
baseurl=http://repo.huaweicloud.com/centos/7/extras/x86_64/
gpgcheck=0
enable=1

[updates]
name=updates
baseurl=http://repo.huaweicloud.com/centos/7/updates/x86_64/
gpgcheck=0
enable=1

[train]
name=train
baseurl=http://repo.huaweicloud.com/centos/7/cloud/x86_64/openstack-train/
gpgcheck=0
enable=1

[virt]
name=virt
baseurl=http://repo.huaweicloud.com/centos/7/virt/x86_64/kvm-common/
gpgcheck=0
enable=1
EOF

下载rpm包

修改 /etc/yum.conf

1
keepcache=1

需要更人的软件包只下载不安装

1
yum -y upgrade  --downloadonly

将下载的rpm复制到 内网yum源目录

1
2
mkdir -p /data/yum-repo/openstack
find /var/cache/yum -name "*.rpm" | awk '{print "cp " $1 " /data/yum-repo/openstack/ " }' |sh

下载openstack 相关的rpm

1
2
3
4
5
6
7
8
9
yumdownloader --resolve yum-utils  yum-plugin-priorities net-tools  ntp \
centos-release-openstack-train python-openstackclient mariadb-server python2-PyMySQL \
rabbitmq-server memcached python-memcached etcd openstack-keystone python-keystoneclient httpd mod_wsgi \
openstack-glance openstack-placement-api \
openstack-nova-api openstack-nova-conductor openstack-nova-scheduler openstack-nova-novncproxy \
openstack-nova-compute openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridge \
openstack-neutron-linuxbridge openstack-dashboard openstack-cinder openstack-cinder targetcli python-keystone \
bridge-utils --destdir /data/yum-repo/openstack
createrepo -d /data/yum-repo/openstack

安装nginx http服务

下载源码包

自行下载

1
2
cd /data/pkg 
wget https://nginx.org/download/nginx-1.26.2.tar.gz

安装编译需要的必要依赖

1
yum install -y gcc-c++ make zlib-devel pcre-devel openssl-devel

安装nginx

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 解压包
tar -xvzf nginx-1.26.2.tar.gz

cd nginx-1.26.2
# 配置安装路径
./configure --prefix=/usr/local/nginx --with-http_ssl_module
# 编译
make
# 编译后安装
make install

# nginx启动路径配置到PATH变量
cat >> /etc/profile <<EOF
export PATH=\$PATH:/usr/local/nginx/sbin
EOF

  • 重新登录即可使环境变量生效

配置nginx http服务

在配置文件 /usr/local/nginx/conf/nginx.conf
中新增server结构体

1
2
3
4
5
6
7
8
9
10
11
12
13
14
server {
listen 9080;
server_name 192.168.16.110;
server_name yum.serve;
access_log /usr/local/nginx/logs/share.access.log ;
error_log /usr/local/nginx/logs/share.error.log;

location / {
root /data/yum-repo;
autoindex on;
autoindex_exact_size on;
autoindex_localtime on;
}
}

执行nginx 启动

1
nginx

检查 http服务已正常启动

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[root@lqz-test-demo ~]# nginx
[root@lqz-test-demo ~]# ps -ef | grep nginx
root 4874 1 0 21:25 ? 00:00:00 nginx: master process nginx
nobody 4875 4874 0 21:25 ? 00:00:00 nginx: worker process
root 4877 4843 0 21:25 pts/0 00:00:00 grep --color=auto nginx
[root@lqz-test-demo ~]# curl 192.168.16.110:9080/
<html>
<head><title>Index of /</title></head>
<body>
<h1>Index of /</h1><hr><pre><a href="../">../</a>
<a href="docker-ce/">docker-ce/</a> 16-Dec-2024 21:01 -
<a href="k8s/">k8s/</a> 16-Dec-2024 21:02 -
<a href="openstack/">openstack/</a> 16-Dec-2024 21:47 -
<a href="other/">other/</a> 16-Dec-2024 21:05 -
</pre><hr></body>
</html>
[root@lqz-test-demo ~]#
[root@lqz-test-demo ~]#

测试内网yum源

将本机的公网yum源置为失效

1
mv /etc/yum.repos.d/OpenStack.repo /etc/yum.repos.d/repo_bak/

重新配置 本地yum源

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
cat > /etc/yum.repos.d/MyRepo.repo <<EOF 
[k8s-repo]
name=k8s repo
baseurl=http://192.168.16.110:9080/k8s
enabled=1
gpgcheck=0
skip_if_unavailable=1

[docker-repo]
name=docker repo
baseurl=http://192.168.16.110:9080/docker-ce
enabled=1
gpgcheck=0
skip_if_unavailable=1

[openstack-repo]
name=docker repo
baseurl=http://192.168.16.110:9080/openstack
enabled=1
gpgcheck=0
skip_if_unavailable=1

EOF

使用本地yum源安装内网habor

安装docker

1
yum install -y docker-ce

配置阿里仓库

1
2
3
4
5
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://c12xt3od.mirror.aliyuncs.com"]
}
EOF

安装cri-dockerd

1
2
3
cd /data/pkg
wget http://192.168.16.110:9080/other/cri-dockerd-0.3.4-3.el7.x86_64.rpm
rpm -ivh cri-dockerd-0.3.4-3.el7.x86_64.rpm

启动docker服务

1
2
3
4
5
6
7
8
# 重载系统守护进程
systemctl daemon-reload
# 启动docker
systemctl start docker
# 启动 cri-dockerd
systemctl start cri-docker.socket cri-docker
# 检查Docker组件状态
systemctl status docker cir-docker.socket cri-docker
  • 日志如下
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    [root@lqz-test-demo yum.repos.d]# sudo tee /etc/docker/daemon.json <<-'EOF'
    > {
    > "registry-mirrors": ["https://c12xt3od.mirror.aliyuncs.com"]
    > }
    > EOF
    {
    "registry-mirrors": ["https://c12xt3od.mirror.aliyuncs.com"]
    }
    [root@lqz-test-demo yum.repos.d]# cd /data/
    [root@lqz-test-demo data]# cd pkg/
    [root@lqz-test-demo pkg]# ls
    nginx-1.26.2 nginx-1.26.2.tar.gz
    [root@lqz-test-demo pkg]# wget http://192.168.16.110:9080/other/cri-dockerd-0.3.4-3.el7.x86_64.rpm
    --2024-12-16 21:58:36-- http://192.168.16.110:9080/other/cri-dockerd-0.3.4-3.el7.x86_64.rpm
    正在连接 192.168.16.110:9080... 已连接。
    已发出 HTTP 请求,正在等待回应... 200 OK
    长度:9646840 (9.2M) [application/x-redhat-package-manager]
    正在保存至: “cri-dockerd-0.3.4-3.el7.x86_64.rpm”

    100%[=====================================================================================================>] 9,646,840 --.-K/s 用时 0.01s

    2024-12-16 21:58:37 (943 MB/s) - 已保存 “cri-dockerd-0.3.4-3.el7.x86_64.rpm” [9646840/9646840])

    [root@lqz-test-demo pkg]# pwd
    /data/pkg
    [root@lqz-test-demo pkg]# rpm -ivh cri-dockerd-0.3.4-3.el7.x86_64.rpm
    准备中... ################################# [100%]
    正在升级/安装...
    1:cri-dockerd-3:0.3.4-3.el7 ################################# [100%]
    [root@lqz-test-demo pkg]# ^C
    [root@lqz-test-demo pkg]# systemctl daemon-reload
    [root@lqz-test-demo pkg]# systemctl start docker
    [root@lqz-test-demo pkg]# systemctl start cri-docker.socket cri-docker
    [root@lqz-test-demo pkg]# systemctl status docker cir-docker.socket cri-docker
    ● docker.service - Docker Application Container Engine
    Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
    Active: active (running) since 一 2024-12-16 21:59:20 CST; 6s ago
    Docs: https://docs.docker.com
    Main PID: 5292 (dockerd)
    Tasks: 8
    Memory: 31.0M
    CGroup: /system.slice/docker.service
    └─5292 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

    12月 16 21:59:20 lqz-test-demo dockerd[5292]: time="2024-12-16T21:59:20.047579585+08:00" level=info msg="[core] [Channel #4 SubChann...le=grpc
    12月 16 21:59:20 lqz-test-demo dockerd[5292]: time="2024-12-16T21:59:20.047608689+08:00" level=info msg="[core] [Channel #4] Channel...le=grpc
    12月 16 21:59:20 lqz-test-demo dockerd[5292]: time="2024-12-16T21:59:20.054730674+08:00" level=info msg="Loading containers: start."
    12月 16 21:59:20 lqz-test-demo dockerd[5292]: time="2024-12-16T21:59:20.321893184+08:00" level=info msg="Default bridge (docker0) is...ddress"
    12月 16 21:59:20 lqz-test-demo dockerd[5292]: time="2024-12-16T21:59:20.371934266+08:00" level=info msg="Loading containers: done."
    12月 16 21:59:20 lqz-test-demo dockerd[5292]: time="2024-12-16T21:59:20.482473838+08:00" level=info msg="Docker daemon" commit=59118...=23.0.3
    12月 16 21:59:20 lqz-test-demo dockerd[5292]: time="2024-12-16T21:59:20.482533553+08:00" level=info msg="Daemon has completed initialization"
    12月 16 21:59:20 lqz-test-demo systemd[1]: Started Docker Application Container Engine.
    12月 16 21:59:20 lqz-test-demo dockerd[5292]: time="2024-12-16T21:59:20.498093177+08:00" level=info msg="[core] [Server #7] Server c...le=grpc
    12月 16 21:59:20 lqz-test-demo dockerd[5292]: time="2024-12-16T21:59:20.500892186+08:00" level=info msg="API listen on /run/docker.sock"
    Unit cir-docker.socket could not be found.

    ● cri-docker.service - CRI Interface for Docker Application Container Engine
    Loaded: loaded (/usr/lib/systemd/system/cri-docker.service; disabled; vendor preset: disabled)
    Active: active (running) since 一 2024-12-16 21:59:24 CST; 2s ago
    Docs: https://docs.mirantis.com
    Main PID: 5410 (cri-dockerd)
    Tasks: 7
    Memory: 17.5M
    CGroup: /system.slice/cri-docker.service
    └─5410 /usr/bin/cri-dockerd --container-runtime-endpoint fd://

    12月 16 21:59:24 lqz-test-demo cri-dockerd[5410]: time="2024-12-16T21:59:24+08:00" level=info msg="The binary conntrack is not insta...eanup."
    12月 16 21:59:24 lqz-test-demo cri-dockerd[5410]: time="2024-12-16T21:59:24+08:00" level=info msg="The binary conntrack is not insta...eanup."
    12月 16 21:59:24 lqz-test-demo cri-dockerd[5410]: time="2024-12-16T21:59:24+08:00" level=info msg="Loaded network plugin cni"
    12月 16 21:59:24 lqz-test-demo cri-dockerd[5410]: time="2024-12-16T21:59:24+08:00" level=info msg="Docker cri networking managed by ...in cni"
    12月 16 21:59:24 lqz-test-demo cri-dockerd[5410]: time="2024-12-16T21:59:24+08:00" level=info msg="Docker Info: &{ID:4ef72cf0-b53b-4...[Native
    12月 16 21:59:24 lqz-test-demo cri-dockerd[5410]: time="2024-12-16T21:59:24+08:00" level=info msg="Setting cgroupDriver cgroupfs"
    12月 16 21:59:24 lqz-test-demo cri-dockerd[5410]: time="2024-12-16T21:59:24+08:00" level=info msg="Docker cri received runtime confi...r:,},}"
    12月 16 21:59:24 lqz-test-demo cri-dockerd[5410]: time="2024-12-16T21:59:24+08:00" level=info msg="Starting the GRPC backend for the...rface."
    12月 16 21:59:24 lqz-test-demo cri-dockerd[5410]: time="2024-12-16T21:59:24+08:00" level=info msg="Start cri-dockerd grpc backend"
    12月 16 21:59:24 lqz-test-demo systemd[1]: Started CRI Interface for Docker Application Container Engine.
    Hint: Some lines were ellipsized, use -l to show in full.
    [root@lqz-test-demo pkg]#

安装docker-compose

1
2
3
wget http://192.168.16.110:9080/other/docker-compose
chmod +x docker-compose
mv docker-compose /usr/bin

安装harbor

1
2
3
4
wget http://192.168.16.110:9080/other/harbor.tar.gz
tar -xvzf harbor.tar.gz
cd harbor
./install.sh

日志打印

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
[root@lqz-test-demo harbor]# ./install.sh 

[Step 0]: checking installation environment ...

Note: docker version: 26.1.4

Note: docker-compose version: 2.17.2

[Step 1]: loading Harbor images ...
Loaded image: vmware/registry:2.6.2-photon
Loaded image: photon:1.0
Loaded image: vmware/notary-photon:signer-0.5.0
Loaded image: vmware/clair:v2.0.1-photon
Loaded image: vmware/harbor-ui:v1.2.0
Loaded image: vmware/harbor-log:v1.2.0
Loaded image: vmware/harbor-db:v1.2.0
Loaded image: vmware/nginx-photon:1.11.13
Loaded image: vmware/postgresql:9.6.4-photon
Loaded image: vmware/harbor-adminserver:v1.2.0
Loaded image: vmware/harbor-jobservice:v1.2.0
Loaded image: vmware/notary-photon:server-0.5.0
Loaded image: vmware/harbor-notary-db:mariadb-10.1.10


[Step 2]: preparing environment ...
Clearing the configuration file: ./common/config/nginx/nginx.conf
Clearing the configuration file: ./common/config/registry/root.crt
Clearing the configuration file: ./common/config/registry/config.yml
Clearing the configuration file: ./common/config/ui/private_key.pem
Clearing the configuration file: ./common/config/ui/app.conf
Clearing the configuration file: ./common/config/ui/env
Clearing the configuration file: ./common/config/jobservice/app.conf
Clearing the configuration file: ./common/config/jobservice/env
Clearing the configuration file: ./common/config/db/env
Clearing the configuration file: ./common/config/adminserver/env
/data/app/harbor/data
Generated and saved secret to file: /data/app/harbor/data/secretkey
Generated configuration file: ./common/config/nginx/nginx.conf
Generated configuration file: ./common/config/adminserver/env
Generated configuration file: ./common/config/ui/env
Generated configuration file: ./common/config/registry/config.yml
Generated configuration file: ./common/config/db/env
Generated configuration file: ./common/config/jobservice/env
Generated configuration file: ./common/config/jobservice/app.conf
Generated configuration file: ./common/config/ui/app.conf
Generated certificate, key file: ./common/config/ui/private_key.pem, cert file: ./common/config/registry/root.crt
The configuration files are ready, please use docker-compose to start the service.


[Step 3]: checking existing instance of Harbor ...


[Step 4]: starting Harbor ...
[+] Running 8/8
✔ Network harbor_harbor Created 0.1s
✔ Container harbor-log Started 0.4s
✔ Container harbor-adminserver Started 0.8s
✔ Container registry Started 0.9s
✔ Container harbor-db Started 0.9s
✔ Container harbor-ui Started 2.0s
✔ Container harbor-jobservice Started 2.3s
✔ Container harbor-nginx Started 2.3s

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

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

[root@lqz-test-demo harbor]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5d484e6f87ab vmware/harbor-jobservice:v1.2.0 "/harbor/harbor_jobs…" 5 seconds ago Up 3 seconds harbor-jobservice
736c2cb72f61 vmware/nginx-photon:1.11.13 "nginx -g 'daemon of…" 5 seconds ago Up 3 seconds 0.0.0.0:20080->80/tcp, :::20080->80/tcp, 0.0.0.0:20443->443/tcp, :::20443->443/tcp, 0.0.0.0:24443->4443/tcp, :::24443->4443/tcp harbor-nginx
17a4bb839e36 vmware/harbor-ui:v1.2.0 "/harbor/harbor_ui" 5 seconds ago Up 3 seconds harbor-ui
673fe5f651d2 vmware/harbor-db:v1.2.0 "docker-entrypoint.s…" 5 seconds ago Up 4 seconds 3306/tcp harbor-db
f54cc8c7e69e vmware/harbor-adminserver:v1.2.0 "/harbor/harbor_admi…" 5 seconds ago Up 4 seconds harbor-adminserver
7e941923c2db vmware/registry:2.6.2-photon "/entrypoint.sh serv…" 5 seconds ago Up 4 seconds 5000/tcp registry
3a0a1f3c717c vmware/harbor-log:v1.2.0 "/bin/sh -c 'crond &…" 5 seconds ago Up 5 seconds 127.0.0.1:1514->514/tcp

登录harbor

访问 http://192.168.16.110:20080/

用户名 admin
密码 Harbor123456

docker仓库指向内网harbor

修改 /etc/docker/daemon.json
增加

1
"insecure-registries": ["http://192.168.16.110:20080"]

举例:如下

1
2
3
4
5
6
[root@node1 ~]# cat /etc/docker/daemon.json
{
"registry-mirrors": ["https://docker.1ms.run"],
"insecure-registries": ["http://192.168.16.110:20080"]
}
[root@node1 ~]#

分别配置了两个仓库

一个是公网的 https://docker.1ms.run

一个是内网的http://192.168.16.110:20080

helm 内网仓库

使用 chartmuseum
下载地址

启动命令

1
nohup /usr/local/bin/chartmuseum --debug --port=38080 --storage="local" --storage-local-rootdir="./chartstorage" > run.log &
1
2
3
4
5
6
[root@lqz-test-demo chartmuseum]/usr/local/bin/chartmuseum --debug --port=38080 --storage="local" --storage-local-rootdir="./chartstorage"
2024-12-29T11:19:10.511+0800 DEBUG Fetching chart list from storage {"repo": ""}
2024-12-29T11:19:10.511+0800 DEBUG No change detected between cache and storage {"repo": ""}
2024-12-29T11:19:10.511+0800 INFO Starting ChartMuseum {"host": "0.0.0.0", "port": 38080}
2024-12-29T11:19:10.511+0800 DEBUG Starting internal event listener