harbor私有镜像仓库及docker-compose

2024-08-29 23:20

本文主要是介绍harbor私有镜像仓库及docker-compose,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

harbor私有镜像仓库

pip包管理器

查看python版本

[root@docker1 ~]# python --version
Python 2.7.5

下载pip

[root@docker1 ~]# yum -y install python2-pip

查看已下载的python的依赖库

[root@docker1 ~]# pip list

backports.ssl-match-hostname (3.5.0.1)

configobj (4.7.2)

decorator (3.4.0)

iniparse (0.4)

ipaddress (1.0.16)

perf (0.1)

pip (8.1.2)

pycurl (7.19.0)

pygobject (3.22.0)

pygpgme (0.3)

pyliblzma (0.5.3)

python-linux-procfs (0.4.9)

pyudev (0.15)

pyxattr (0.5.1)

schedutils (0.4)

setuptools (0.9.8)

slip (0.4.0)

slip.dbus (0.4.0)

urlgrabber (3.10)

yum-metadata-parser (1.1.4)

升级pip并指定版本,2.0最高版本就是20.3

[root@docker1 ~]# pip install --upgrade pip==20.3  -i Simple Index

Collecting pip==20.3

  Downloading https://mirrors.aliyun.com/pypi/packages/55/73/bce122d1ed0217b3c1a3439ab16dfa94bbeabd0d31755fcf907493abf39b/pip-20.3-py2.py3-none-any.whl (1.5MB)

    0% |▏                               | 10kB 350kB/s eta 0:0

    1% |▍                               | 20kB 347kB/s eta 0:0

...

    100% |████████████████████████████████| 1.5MB 210kB/s

Installing collected packages: pip

  Found existing installation: pip 8.1.2

    Uninstalling pip-8.1.2:

      Successfully uninstalled pip-8.1.2

Successfully installed pip-20.3

查看版本

[root@docker1 ~]# pip --version

pip 20.3 from /usr/lib/python2.7/site-packages/pip (python 2.7)

下载安装docker-compose

[root@docker1 ~]# pip install docker-compose --ignore-installed requests  -i Simple Index

查看pip版本

[root@docker1 ~]# pip list

DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at Release process - pip documentation v24.3.dev0 pip 21.0 will remove support for this functionality.

Package                            Version

---------------------------------- -----------

attrs                              21.4.0

backports.shutil-get-terminal-size 1.0.0

backports.ssl-match-hostname       3.7.0.1

bcrypt                             3.1.7

cached-property                    1.5.2

certifi                            2021.10.8

cffi                               1.15.1

chardet                            4.0.0

configobj                          4.7.2

configparser                       4.0.2

contextlib2                        0.6.0.post1

cryptography                       3.3.2

decorator                          3.4.0

distro                             1.6.0

docker                             4.4.4

docker-compose                     1.26.2   #版本大于1.18即可

dockerpty                          0.4.1

docopt                             0.6.2

enum34                             1.1.10

functools32                        3.2.3.post2

idna                               2.10

importlib-metadata                 2.1.3

iniparse                           0.4

ipaddress                          1.0.23

jsonschema                         3.2.0

paramiko                           2.12.0

pathlib2                           2.3.7.post1

perf                               0.1

pip                                20.3

pycparser                          2.21

pycurl                             7.19.0

pygobject                          3.22.0

pygpgme                            0.3

pyliblzma                          0.5.3

PyNaCl                             1.4.0

pyrsistent                         0.16.1

python-dotenv                      0.18.0

python-linux-procfs                0.4.9

pyudev                             0.15

pyxattr                            0.5.1

PyYAML                             5.4.1

requests                           2.27.1

scandir                            1.10.0

schedutils                         0.4

setuptools                         44.1.1

six                                1.16.0

slip                               0.4.0

slip.dbus                          0.4.0

subprocess32                       3.5.4

texttable                          1.7.0

typing                             3.10.0.0

urlgrabber                         3.10

urllib3                            1.26.19

websocket-client                   0.59.0

yum-metadata-parser                1.1.4

zipp                               1.2.0

WARNING: You are using pip version 20.3; however, version 20.3.4 is available.

You should consider upgrading via the '/usr/bin/python2 -m pip install --upgrade pip' command.

安装docker

[root@docker1 ~]# source docker.sh

[root@docker1 ~]# docker --version

Docker version 26.1.4, build 5650f9b

上传harbor

[root@docker1 ~]# ls

anaconda-ks.cfg  harbor-offline-installer-v2.11.1.tgz

docker.sh        initserver.sh

解压harbor

[root@docker1 ~]# tar -zxvf harbor-offline-installer-v2.11.1.tgz

harbor/harbor.v2.11.1.tar.gz

harbor/prepare

harbor/LICENSE

harbor/install.sh

harbor/common.sh

harbor/harbor.yml.tmpl

[root@docker1 ~]# ls

anaconda-ks.cfg  harbor-offline-installer-v2.11.1.tgz

docker.sh        initserver.sh

harbor

进入解压后的harbor目录

[root@docker1 ~]# cd harbor/

[root@docker1 harbor]# ls

common.sh              harbor.yml.tmpl  LICENSE

harbor.v2.11.1.tar.gz  install.sh       prepare

复制harbor配置文件的模板文件

[root@docker1 harbor]# cp harbor.yml.tmpl harbor.yml

[root@docker1 harbor]# ls

common.sh              harbor.yml       install.sh  prepare

harbor.v2.11.1.tar.gz  harbor.yml.tmpl  LICENSE

修改配置文件---hatbor.yml

[root@docker1 harbor]# vim harbor.yml

修改hostname,注释https

再往下翻找有一个账号和密码,可以不改

执行prepare

[root@docker1 harbor]# ./prepare

prepare base dir is set to /root/harbor

docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.

See 'docker run --help'.

发现没有启动docker

启动docker之前需要修改daemon.json文件和docker文件

为了方便,从其他主机传一个docker修改一下即可

[root@docker1 harbor]# scp root@192.168.1.50:/etc/docker/daemon.json /etc/docker/

The authenticity of host '192.168.1.50 (192.168.1.50)' can't be established.

ECDSA key fingerprint is SHA256:UHAU+sXTEKYh1El+VOBaor4NjGsmwOi0Cz/Iwdcf5OQ.

ECDSA key fingerprint is MD5:ef:a6:e8:1a:c3:ce:7e:f4:c9:4e:a0:a5:4e:f6:a1:2b.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added '192.168.1.50' (ECDSA) to the list of known hosts.

root@192.168.1.50's password:

daemon.json                 100%  410   427.7KB/s   00:00

修改daemon.json文件

[root@docker1 harbor]# vim /etc/docker/daemon.json

修改docker文件

[root@docker1 harbor]# vim /usr/lib/systemd/system/docker.service

重新加载,启动docker

[root@docker1 harbor]# systemctl daemon-reload

[root@docker1 harbor]# systemctl start docker

执行prepare,发现没有镜像,自动下载镜像

[root@docker1 harbor]# ./prepare

prepare base dir is set to /root/harbor

Unable to find image 'goharbor/prepare:v2.11.1' locally

v2.11.1: Pulling from goharbor/prepare

21fde6fe7256: Pull complete

e7d411dc7b71: Pull complete

956686c6154d: Pull complete

ccc241b37d9f: Pull complete

3987a6241b04: Pull complete

e5d1bb106ead: Pull complete

ab6fb87032e7: Pull complete

b4af08cd7f0c: Pull complete

55da78465c7e: Pull complete

cccf92d2dec0: Pull complete

Digest: sha256:35dbf7b4293e901e359dbf065ed91d9e4a0de371898da91a3b92c3594030a88c

Status: Downloaded newer image for goharbor/prepare:v2.11.1

WARNING:root:WARNING: HTTP protocol is insecure. Harbor will deprecate http protocol in the future. Please make sure to upgrade to https

Generated configuration file: /config/portal/nginx.conf

Generated configuration file: /config/log/logrotate.conf

Generated configuration file: /config/log/rsyslog_docker.conf

Generated configuration file: /config/nginx/nginx.conf

Generated configuration file: /config/core/env

Generated configuration file: /config/core/app.conf

Generated configuration file: /config/registry/config.yml

Generated configuration file: /config/registryctl/env

Generated configuration file: /config/registryctl/config.yml

Generated configuration file: /config/db/env

Generated configuration file: /config/jobservice/env

Generated configuration file: /config/jobservice/config.yml

Generated and saved secret to file: /data/secret/keys/secretkey

Successfully called func: create_root_cert

Generated configuration file: /compose_location/docker-compose.yml

Clean up the input dir

检查端口

[root@docker1 harbor]# netstat -lnput |grep 5000

[root@docker1 harbor]# netstat -lnput |grep 80

关闭防火墙

[root@docker1 harbor]# systemctl stop firewalld

初始化

[root@docker1 harbor]# ./install.sh

启动

[root@docker1 harbor]# docker-compose up -d

浏览器访问

输入用户名和密码登录

查看镜像

[root@docker1 harbor]# docker-compose ps

登录harbor

拉取centos镜像

[root@docker1 harbor]# docker pull nginx

给镜像打标签

[root@docker1 harbor]# docker tag nginx:latest 192.168.1.51/centosnginx:v1
 

上传标签镜像

[root@docker1 harbor]# docker push 192.168.1.51/centosnginx:v1
 

查看推送信息

docker-compose编排

主机地址:192.168.1.52

安装epel

[root@docker2 ~]# yum -y install epel-release

安装python2-pip

[root@docker2 ~]# yum -y install python2-pip

[root@docker2 ~]# pip install --upgrade pip==20.3  -i Simple Index

[root@docker2 ~]# pip install docker-compose  -i Simple Index

安装docker

[root@docker2 ~]# sh docker.sh

创建一个目录

[root@docker2 ~]# mkdir test

进入目录,查看当前工作目录并创建一个html目录,将写好的yaml文件通过scp方式或者xshell上传到docker2主机

[root@docker2 ~]# cd test/

[root@docker2 test]# pwd

/root/test

[root@docker2 test]# mkdir html

使用vscode编写的yml文件内容

发布一个项目

[root@docker2 test]# echo "我是被编排的nginx" > ./html/index.html

为了方便从之前的主机传一个daemon.json文件

[root@docker2 test]# scp root@192.168.1.50:/etc/docker/daemon.json /etc/docker/

修改docker文件,将光标所在行修改如图

[root@docker2 test]# vim /usr/lib/systemd/system/docker.service

修改json文件

[root@docker2 test]# vim /etc/docker/daemon.json

重新加载并重启docker

[root@docker2 test]# systemctl daemon-reload

[root@docker2 test]# systemctl restart docker

运行docker-compose

[root@docker2 test]# docker compose up -d

查看运行的容器

浏览器也是可以访问到的

这篇关于harbor私有镜像仓库及docker-compose的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1119138

相关文章

解决docker目录内存不足扩容处理方案

《解决docker目录内存不足扩容处理方案》文章介绍了Docker存储目录迁移方法:因系统盘空间不足,需将Docker数据迁移到更大磁盘(如/home/docker),通过修改daemon.json配... 目录1、查看服务器所有磁盘的使用情况2、查看docker镜像和容器存储目录的空间大小3、停止dock

docker 重命名镜像的实现方法

《docker重命名镜像的实现方法》在Docker中无法直接重命名镜像,但可通过添加新标签、删除旧镜像后重新拉取/构建,或在DockerCompose中修改配置文件实现名称变更,感兴趣的可以了解一下... 目录使用标签(Tagging)删除旧的php镜像并重新拉取或构建使用docker Compose在Do

docker编写java的jar完整步骤记录

《docker编写java的jar完整步骤记录》在平常的开发工作中,我们经常需要部署项目,开发测试完成后,最关键的一步就是部署,:本文主要介绍docker编写java的jar的相关资料,文中通过代... 目录all-docker/生成Docker打包部署文件配置服务A的Dockerfile (a/Docke

linux配置podman阿里云容器镜像加速器详解

《linux配置podman阿里云容器镜像加速器详解》本文指导如何配置Podman使用阿里云容器镜像加速器:登录阿里云获取专属加速地址,修改Podman配置文件并移除https://前缀,最后拉取镜像... 目录1.下载podman2.获取阿里云个人容器镜像加速器地址3.更改podman配置文件4.使用po

Java 单元测试之Mockito 模拟静态方法与私有方法最佳实践

《Java单元测试之Mockito模拟静态方法与私有方法最佳实践》本文将深入探讨如何使用Mockito来模拟静态方法和私有方法,结合大量实战代码示例,带你突破传统单元测试的边界,写出更彻底、更独立... 目录Mockito 简介:为什么选择它?环境准备模拟静态方法:打破“不可变”的枷锁传统困境解法一:使用M

Docker多阶段镜像构建与缓存利用性能优化实践指南

《Docker多阶段镜像构建与缓存利用性能优化实践指南》这篇文章将从原理层面深入解析Docker多阶段构建与缓存机制,结合实际项目示例,说明如何有效利用构建缓存,组织镜像层次,最大化提升构建速度并减少... 目录一、技术背景与应用场景二、核心原理深入分析三、关键 dockerfile 解读3.1 Docke

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

Python一次性将指定版本所有包上传PyPI镜像解决方案

《Python一次性将指定版本所有包上传PyPI镜像解决方案》本文主要介绍了一个安全、完整、可离线部署的解决方案,用于一次性准备指定Python版本的所有包,然后导出到内网环境,感兴趣的小伙伴可以跟随... 目录为什么需要这个方案完整解决方案1. 项目目录结构2. 创建智能下载脚本3. 创建包清单生成脚本4

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

Conda国内镜像源及配置过程

《Conda国内镜像源及配置过程》文章介绍Conda镜像源使用方法,涵盖临时指定单个/多个源、永久配置及恢复默认设置,同时说明main(官方稳定)、free(逐渐弃用)、conda-forge(社区更... 目录一、Conda国内镜像源二、Conda临时使用镜像源指定单个源临时指定多个源创建环境时临时指定源