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运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

从状态管理到性能优化:全面解析 Android Compose

文章目录 引言一、Android Compose基本概念1.1 什么是Android Compose?1.2 Compose的优势1.3 如何在项目中使用Compose 二、Compose中的状态管理2.1 状态管理的重要性2.2 Compose中的状态和数据流2.3 使用State和MutableState处理状态2.4 通过ViewModel进行状态管理 三、Compose中的列表和滚动

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓

取得 Git 仓库 —— Git 学习笔记 04

取得 Git 仓库 —— Git 学习笔记 04 我认为, Git 的学习分为两大块:一是工作区、索引、本地版本库之间的交互;二是本地版本库和远程版本库之间的交互。第一块是基础,第二块是难点。 下面,我们就围绕着第一部分内容来学习,先不考虑远程仓库,只考虑本地仓库。 怎样取得项目的 Git 仓库? 有两种取得 Git 项目仓库的方法。第一种是在本地创建一个新的仓库,第二种是把其他地方的某个

禅道Docker安装包发布

禅道Docker安装包发布 大家好, 禅道Docker安装包发布。 一、下载地址 禅道开源版:   /dl/zentao/docker/docker_zentao.zip  备用下载地址:https://download.csdn.net/download/u013490585/16271485 数据库用户名: root,默认密码: 123456。运行时,可以设置 MYSQL_ROOT_P

husky 工具配置代码检查工作流:提交代码至仓库前做代码检查

提示:这篇博客以我前两篇博客作为先修知识,请大家先去看看我前两篇博客 博客指路:前端 ESlint 代码规范及修复代码规范错误-CSDN博客前端 Vue3 项目开发—— ESLint & prettier 配置代码风格-CSDN博客 husky 工具配置代码检查工作流的作用 在工作中,我们经常需要将写好的代码提交至代码仓库 但是由于程序员疏忽而将不规范的代码提交至仓库,显然是不合理的 所

828华为云征文|华为云Flexus X实例docker部署rancher并构建k8s集群

828华为云征文|华为云Flexus X实例docker部署rancher并构建k8s集群 华为云最近正在举办828 B2B企业节,Flexus X实例的促销力度非常大,特别适合那些对算力性能有高要求的小伙伴。如果你有自建MySQL、Redis、Nginx等服务的需求,一定不要错过这个机会。赶紧去看看吧! 什么是华为云Flexus X实例 华为云Flexus X实例云服务是新一代开箱即用、体

docker-compose安装和简单使用

本文介绍docker-compose的安装和使用 新版docker已经默认安装了docker-compose 可以使用docker-compose -v 查看docker-compose版本 如果没有的话可以使用以下命令直接安装 sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-c

01 Docker概念和部署

目录 1.1 Docker 概述 1.1.1 Docker 的优势 1.1.2 镜像 1.1.3 容器 1.1.4 仓库 1.2 安装 Docker 1.2.1 配置和安装依赖环境 1.3镜像操作 1.3.1 搜索镜像 1.3.2 获取镜像 1.3.3 查看镜像 1.3.4 给镜像重命名 1.3.5 存储,载入镜像和删除镜像 1.4 Doecker容器操作 1.4

js私有作用域(function(){})(); 模仿块级作用域

摘自:http://outofmemory.cn/wr/?u=http%3A%2F%2Fwww.phpvar.com%2Farchives%2F3033.html js没有块级作用域,简单的例子: for(var i=0;i<10;i++){alert(i);}alert(i); for循环后的i,在其它语言像c、java中,会在for结束后被销毁,但js在后续的操作中仍然能访