目录

一、Docker私有仓库创建

1、在一台安装Docker私有仓库的主机上添加docker-compose 命令

2、安装docker-ce服务

3、Docker 镜像加速

4、安装Harbor仓库

5、使用脚本安装仓库

6、网站登陆

7、客户端使用Harbor仓库

二、Docky存储与网络配置

1、存储与网络

挂载主机目录

创建数据卷容器

实现负载均衡

2、Docker网络


一、Docker私有仓库创建

1、在一台安装Docker私有仓库的主机上添加docker-compose 命令

192.168.58.171(rocky9)

[root@harbor ~]# rz
rz waiting to receive.**[root@harbor ~]# ls
公共  模板  视频  图片  文档  下载  音乐  桌面  anaconda-ks.cfg  docker-compose
[root@harbor ~]# mv docker-compose /usr/local/sbin/
[root@harbor ~]# chmod +x /usr/local/sbin/docker-compose 

2、安装docker-ce服务

yum install -y yum-utils
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install -y docker-ce

3、Docker 镜像加速

root@harbor ~]# vim /etc/docker/daemon.json
{"registry-mirrors": ["https://0vmzj3q6.mirror.aliyuncs.com","https://docker.m.daocloud.io","https://mirror.baidubce.com","https://dockerproxy.com","https://mirror.iscas.ac.cn","https://huecker.io","https://dockerhub.timeweb.cloud","https://noohub.ru","https://vlgh0kqj.mirror.aliyuncs.com"]
}
​
[root@harbor ~]# systemctl  daemon-reload
[root@harbor ~]# systemctl enable --now docker

4、安装Harbor仓库

[root@harbor ~]# rz
rz waiting to receive.**[root@harbor ~]# ls
公共  模板  视频  图片  文档  下载  音乐  桌面  anaconda-ks.cfg  harbor-offline-installer-v2.7.3.tgz
[root@harbor ~]# tar xf harbor-offline-installer-v2.7.3.tgz 
[root@harbor ~]# ls
公共  模板  视频  图片  文档  下载  音乐  桌面  anaconda-ks.cfg  harbor  harbor-offline-installer-v2.7.3.tgz
[root@harbor ~]# cd harbor/
[root@harbor harbor]# ls
common.sh  harbor.v2.7.3.tar.gz  harbor.yml.tmpl  install.sh  LICENSE  prepare
[root@harbor harbor]# cp harbor.yml.tmpl harbor.yml
[root@harbor harbor]# vim harbor.yml
##更改hostname为自己的主机ip

5、使用脚本安装仓库

[root@harbor harbor]# ls
common.sh  harbor.v2.7.3.tar.gz  harbor.yml  harbor.yml.tmpl  install.sh  LICENSE  prepare
[root@harbor harbor]# ./install.sh 

6、网站登陆

安装完成后网站访问自己的主机ip

密码在配置文件harbor.yml中查看

创建私有仓库

项目——新建项目

7、客户端使用Harbor仓库

在自己的客户端操作

安装好docker服务,并启动后进行操作

192.168.58.170

##加入仓库地址
[root@bogon ~]# vim /etc/docker/daemon.json
{"insecure-registries": ["192.168.58.171:80"],"registry-mirrors": ["https://0vmzj3q6.mirror.aliyuncs.com","https://docker.m.daocloud.io","https://mirror.baidubce.com","https://dockerproxy.com","https://mirror.iscas.ac.cn","https://huecker.io","https://dockerhub.timeweb.cloud","https://noohub.ru","https://vlgh0kqj.mirror.aliyuncs.com"]
}
​
[root@bogon ~]# systemctl daemon-reload 
[root@bogon ~]# systemctl restart docker
##登陆仓库
[root@bogon ~]# docker login -u admin http://192.168.58.171:80
Password: Harbor12345
​
WARNING! Your credentials are stored unencrypted in '/root/.docker/config.json'.
Configure a credential helper to remove this warning. See
https://docs.docker.com/go/credential-store/
​
Login Succeeded
##查看本机镜像并上传和下载镜像
[root@bogon ~]# docker images
REPOSITORY          TAG          IMAGE ID       CREATED             SIZE
alpine              php          865c7c6fdd6d   About an hour ago   31.3MB
alpine              nginx        45e852400cec   2 hours ago         12.9MB
dockerfile1_nginx   latest       0f4e5963a308   21 hours ago        192MB
dockerfile1_php     latest       38b23698b2d9   21 hours ago        470MB
alpine              latest       9234e8fb04c4   3 weeks ago         8.31MB
nginx               latest       2cd1d97f893f   3 weeks ago         192MB
redis               7.2-alpine   30db5eb24b65   4 weeks ago         40.9MB
mysql               5.7          5107333e08a8   20 months ago       501MB
[root@bogon ~]# docker tag alpine:latest 192.168.58.171:80/private/alpine:v1
[root@bogon ~]# docker images
REPOSITORY                         TAG          IMAGE ID       CREATED             SIZE
alpine                             php          865c7c6fdd6d   About an hour ago   31.3MB
alpine                             nginx        45e852400cec   2 hours ago         12.9MB
dockerfile1_nginx                  latest       0f4e5963a308   21 hours ago        192MB
dockerfile1_php                    latest       38b23698b2d9   21 hours ago        470MB
192.168.58.171:80/private/alpine   v1           9234e8fb04c4   3 weeks ago         8.31MB
alpine                             latest       9234e8fb04c4   3 weeks ago         8.31MB
nginx                              latest       2cd1d97f893f   3 weeks ago         192MB
redis                              7.2-alpine   30db5eb24b65   4 weeks ago         40.9MB
mysql                              5.7          5107333e08a8   20 months ago       501MB
[root@bogon ~]# docker push 192.168.58.171:80/private/alpine:v1
The push refers to repository [192.168.58.171:80/private/alpine]
418dccb7d85a: Pushed 
v1: digest: sha256:7b9b6a044d921dfcaea2a843ff19d725948590352198f93cb878fd2c19d7ba3c size: 527

网站访问可以看到仓库里上传了一个镜像

private——private/alpine

模拟下载镜像

[root@bogon ~]# docker rmi 192.168.58.171:80/private/alpine:v1
Untagged: 192.168.58.171:80/private/alpine:v1
Untagged: 192.168.58.171:80/private/alpine@sha256:7b9b6a044d921dfcaea2a843ff19d725948590352198f93cb878fd2c19d7ba3c
[root@bogon ~]# docker images
REPOSITORY          TAG          IMAGE ID       CREATED         SIZE
alpine              php          865c7c6fdd6d   2 hours ago     31.3MB
alpine              nginx        45e852400cec   2 hours ago     12.9MB
dockerfile1_nginx   latest       0f4e5963a308   21 hours ago    192MB
dockerfile1_php     latest       38b23698b2d9   21 hours ago    470MB
alpine              latest       9234e8fb04c4   3 weeks ago     8.31MB
nginx               latest       2cd1d97f893f   3 weeks ago     192MB
redis               7.2-alpine   30db5eb24b65   4 weeks ago     40.9MB
mysql               5.7          5107333e08a8   20 months ago   501MB
[root@bogon ~]# docker pull 192.168.58.171:80/private/alpine:v1
v1: Pulling from private/alpine
Digest: sha256:7b9b6a044d921dfcaea2a843ff19d725948590352198f93cb878fd2c19d7ba3c
Status: Downloaded newer image for 192.168.58.171:80/private/alpine:v1
192.168.58.171:80/private/alpine:v1
[root@bogon ~]# docker images
REPOSITORY                         TAG          IMAGE ID       CREATED         SIZE
alpine                             php          865c7c6fdd6d   2 hours ago     31.3MB
alpine                             nginx        45e852400cec   2 hours ago     12.9MB
dockerfile1_nginx                  latest       0f4e5963a308   21 hours ago    192MB
dockerfile1_php                    latest       38b23698b2d9   21 hours ago    470MB
192.168.58.171:80/private/alpine   v1           9234e8fb04c4   3 weeks ago     8.31MB
alpine                             latest       9234e8fb04c4   3 weeks ago     8.31MB
nginx                              latest       2cd1d97f893f   3 weeks ago     192MB
redis                              7.2-alpine   30db5eb24b65   4 weeks ago     40.9MB
mysql                              5.7          5107333e08a8   20 months ago   501MB

harbor启动命令:docker-compose up -d

二、Docky存储与网络配置

192.168.58.170

1、存储与网络

挂载主机目录

默认会自动创建目录

[root@bogon ~]# docker pull nginx
​
[root@bogon ~]# docker run -itd -v /data:/usr/share/nginx/html nginx:latest
1eeab805c8de45098404eafb4a8bb2c314ed4342a78f1a13cb7a443197ac119a
​
[root@bogon ~]# cd /data/
[root@bogon data]# ls
[root@bogon data]# echo nginx > index.html
[root@bogon data]# docker inspect 1e
##查看镜像的ip,用于下面访问
​
[root@bogon data]# curl 172.17.0.2
nginx
创建数据卷容器

docker run -itd --volumes--form hopeful_euler nginx:latest中hopeful_euler是关联镜像容器的names

[root@bogon data]# docker ps
CONTAINER ID   IMAGE               COMMAND                   CREATED         STATUS          PORTS                                 NAMES
1eeab805c8de   nginx:latest        "/docker-entrypoint.…"   4 minutes ago   Up 4 minutes    80/tcp                                hopeful_euler
a63420226829   dockerfile1_nginx   "/docker-entrypoint.…"   22 hours ago    Up 48 minutes   0.0.0.0:80->80/tcp, [::]:80->80/tcp   dockerfile1_nginx_1
2f7cdb42f221   dockerfile1_php     "docker-php-entrypoi…"   22 hours ago    Up 48 minutes   9000/tcp                              dockerfile1_php_1
3050662d2d77   mysql:5.7           "docker-entrypoint.s…"   22 hours ago    Up 48 minutes   3306/tcp, 33060/tcp                   dockerfile1_mysql_1
[root@bogon data]# docker run -itd --volumes-from hopeful_euler nginx:latest
83d994977bf9dfc0880f15f4ddf2e6aad4d9192b43b84cb71e255cb4a23d4593
​
[root@bogon data]# docker ps
CONTAINER ID   IMAGE               COMMAND                   CREATED          STATUS          PORTS                                 NAMES
83d994977bf9   nginx:latest        "/docker-entrypoint.…"   29 seconds ago   Up 28 seconds   80/tcp                                mystifying_sanderson
1eeab805c8de   nginx:latest        "/docker-entrypoint.…"   6 minutes ago    Up 6 minutes    80/tcp                                hopeful_euler
a63420226829   dockerfile1_nginx   "/docker-entrypoint.…"   22 hours ago     Up 50 minutes   0.0.0.0:80->80/tcp, [::]:80->80/tcp   dockerfile1_nginx_1
2f7cdb42f221   dockerfile1_php     "docker-php-entrypoi…"   22 hours ago     Up 50 minutes   9000/tcp                              dockerfile1_php_1
3050662d2d77   mysql:5.7           "docker-entrypoint.s…"   22 hours ago     Up 50 minutes   3306/tcp, 33060/tcp                   dockerfile1_mysql_1
[root@bogon data]# curl 172.17.0.3
nginx
##可以看到,通过访问关联的ip也能访问到172.17.0.2的挂载文件
实现负载均衡

设计思路:通过提前配置好代理的容器的配置文件,里面配好负载均衡,在启动proxy容器时通过本地挂载的形式,使用配置好的配置文件实现负载均衡功能

[root@bogon data]# docker cp 83:/etc/nginx/conf.d/default.conf ./
Successfully copied 3.07kB to /data/./
[root@bogon data]# ls
default.conf  index.html
[root@bogon data]# vim default.conf 

更改成代理

[root@bogon data]# docker run -itd --name=proxy -v /data/default.conf:/etc/nginx/conf.d/default.conf nginx:latest 
3f0998ef3be0d03bbcc4a8e56e7986e9d5b46d9dd96d8202604a9f1455d49aeb
[root@bogon data]# curl 172.17.0.4
nginx

2、Docker网络

查看现有docker 网络

[root@bogon data]# docker network ls
NETWORK ID     NAME                              DRIVER    SCOPE
69bf9d36028d   bridge                            bridge    local
3190c092bcfb   dockerfile1_discuz-net            bridge    local
058843202af0   host                              host      local
f9bd13151aaa   none                              null      local
e491e22154a6   redis-cluster_redis-cluster-net   bridge    local

创建网络

[root@bogon data]# docker network create mynic --driver bridge
a951bbcb7501ac8232c4ca23337cb6eac877a7231a7a80751b327c70a0a2964c
[root@bogon data]# docker network ls
NETWORK ID     NAME                              DRIVER    SCOPE
69bf9d36028d   bridge                            bridge    local
3190c092bcfb   dockerfile1_discuz-net            bridge    local
058843202af0   host                              host      local
a951bbcb7501   mynic                             bridge    local
f9bd13151aaa   none                              null      local
e491e22154a6   redis-cluster_redis-cluster-net   bridge    local
[root@bogon data]# docker network inspect mynic
[{"Name": "mynic","Id": "a951bbcb7501ac8232c4ca23337cb6eac877a7231a7a80751b327c70a0a2964c","Created": "2025-08-07T22:06:30.318365618+08:00","Scope": "local","Driver": "bridge","EnableIPv4": true,"EnableIPv6": false,"IPAM": {"Driver": "default","Options": {},"Config": [{"Subnet": "172.19.0.0/16","Gateway": "172.19.0.1"}]},"Internal": false,"Attachable": false,"Ingress": false,"ConfigFrom": {"Network": ""},"ConfigOnly": false,"Containers": {},"Options": {},"Labels": {}}
]
​
​

看到感觉有帮助的朋友,劳烦动动发财的小手,给博主点各赞

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/95242.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/95242.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/95242.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

谷歌ADK接入文件操作MCP

文章目录MCP基础概念文件操作服务器文件操作MCP接入谷歌ADK项目创建多轮对话代码MCP基础概念 MCP技术体系中,会将外部工具运行脚本称作服务器,而接入这些外部工具的大模型运行环境称作客户端。 一个客户端可以接入多个不同类型的服务器,但都…

高光谱技术的独特优势

高光谱技术凭借其‌纳米级连续光谱采集能力‌和‌图谱合一的探测模式‌,在多个领域展现出不可替代的独特优势:一、光谱维度:精细物质指纹识别‌纳米级连续光谱解析‌ 通过 ‌5-10nm带宽的数百个连续波段‌(最高330个通道&#xff…

基于Vue+Element UI集成高德地图的完整实践指南

本次开发使用deepseek 简直如虎添翼得心应手 生成模拟数据、解决报错那真是嘎嘎地 在 Vue Element UI 项目中引入高德地图 具体实现步骤: 高德开放平台:注册账号 → 进入控制台 → 创建应用 → 获取 Web端(JS API)的Key https://lbs.amap.com/ 这里需要…

Day50--图论--98. 所有可达路径(卡码网),797. 所有可能的路径

Day50–图论–98. 所有可达路径(卡码网),797. 所有可能的路径 刷今天的内容之前,要先去《代码随想录》网站,先看完:图论理论基础和深度优先搜索理论基础。做完之后可以看题解。有余力,把广度优先…

Python 异常捕获

一、获取未知错误try:# 相关处理逻辑 异常后面输出print(输入信息……) except Exception as e:print(未知错误,e)二、获取已知错误except 错误单词(来源于错误信息的第一个单词)多个已知错误使用 except XXXXX:try:# 相关处理逻辑 异常后面输出print…

RIOT、RT-Thread 和 FreeRTOS 是三种主流的实时操作系统

RIOT、RT-Thread 和 FreeRTOS 是三种主流的实时操作系统(RTOS),专为嵌入式系统和物联网(IoT)设备设计。它们在架构、功能、生态和应用场景上有显著差异,以下是详细对比:1. 架构与设计理念特性RI…

【FAQ】Win11创建资源不足绕开微软账号登录

Win11安装资源限制 因为 Windows 11 有两项强制检测 VMware 8 默认没提供: TPM 2.0(可信平台模块)Secure Boot(安全启动) 一步到位解决办法(官方兼容方式) 关闭虚拟机电源编辑虚拟机设置 选项 →…

Docker使用----(安装_Windows版)

一、Docker Docker 镜像就像是一个软件包,里面包括了应用程序的代码、运行所需的库和工具、配置文件等等,所有这些都打包在一起,以确保应用程序在不同的计算机上运行时,都能保持一致性。 可以把 Docker 镜像想象成一个软件安装文件…

91、23种经典设计模式

设计模式是软件设计中反复出现的解决方案的模板,用于解决特定问题并提高代码的可维护性、可扩展性和可复用性。23种经典设计模式可分为创建型、结构型和行为型三大类,以下是具体分类及模式概述: 一、创建型模式(5种) 关…

Illustrator总监级AI魔法:一键让低清logo变矢量高清,彻底告别手动描摹!

在海外从事设计十几年,我敢说,每个设计师都经历过一种“史诗级”的折磨:客户发来一个像素低得感人、边缘模糊不清的JPG格式Logo,然后要求你把它用在巨幅海报或者高清视频上。这意味着什么?意味着我们要打开Illustrator…

各种 dp 刷题下

6.#8518 杰瑞征途 / 洛谷 P4072 征途 题意 Pine 开始了从 SSS 地到 TTT 地的征途。从 SSS 地到 TTT 地的路可以划分成 nnn 段,相邻两段路的分界点设有休息站。Pine 计划用 mmm 天到达 TTT 地。除第 mmm 天外,每一天晚上 Pine 都必须在休息站过夜。所以…

本地WSL部署接入 whisper + ollama qwen3:14b 总结字幕增加利用 Whisper 分段信息,全新 Prompt功能

1. 实现功能 M4-3: 智能后处理 - 停顿感知增强版 (终极版) 本脚本是 M4-3 的重大升级,引入了“停顿感知”能力: 利用 Whisper 分段信息: 将 Whisper 的 segments 间的自然停顿作为强信号 ([P]) 提供给 LLM。全新 Prompt: 设计了专门的 Prompt&#xff0c…

微算法科技(NASDAQ:MLGO)开发经典增强量子优化算法(CBQOA):开创组合优化新时代

近年来,量子计算在组合优化领域的应用日益受到关注,各类量子优化算法层出不穷。然而,由于现阶段量子硬件的局限性,如何充分利用已有的经典计算能力来增强量子优化算法的表现,成为当前研究的重要方向。基于此&#xff0…

功能、延迟、部署、成本全解析:本地化音视频 SDK 对比 云端方案

引言 在构建实时音视频系统时,技术选型往往决定了项目的天花板。开发者面临的第一个关键抉择,就是是选择完全可控的本地化音视频内核,还是依赖云厂商的实时音视频服务。 以大牛直播SDK(SmartMediaKit)为代表的本地部…

微调入门:为什么微调

欢迎来到啾啾的博客🐱。 记录学习点滴。分享工作思考和实用技巧,偶尔也分享一些杂谈💬。 有很多很多不足的地方,欢迎评论交流,感谢您的阅读和评论😄。 目录1 什么时候我们需要微调呢?1.1 微调的…

3、匹配一组字符

在本章里,你将学习如何与字符集合打交道。与可以匹配任意单个字符的.字符(参见第2章)不同,字符集合能匹配特定的字符和字符区间。3.1 匹配多个字符中的某一个第2章介绍的.​字符,可以匹配任意单个字符。当时在最后一个…

强化学习在量化交易中的禁区:回测表现好实盘亏钱的4个原因

引言 “为什么你的强化学习策略在回测中年化 50%,到了实盘却三个月亏光本金?” 如果你做过量化交易,尤其是尝试用强化学习(Reinforcement Learning, RL),这种场景可能并不陌生: 回测曲线平滑向上,最大回撤可控,胜率稳定 模型参数和架构调到极致,每次迭代都带来更高的…

代码随想录day62图论11

文章目录Floyd 算法精讲A * 算法精讲 &#xff08;A star算法&#xff09;Floyd 算法精讲 题目链接 文章讲解 #include <iostream> #include <vector> #include <algorithm> using namespace std;int main() {int n, m;cin >> n >> m; // 输入…

【18】OpenCV C++实战篇——【项目实战】OpenCV C++ 精准定位“十字刻度尺”中心坐标,过滤图片中的干扰,精准获取十字交点坐标

文章目录1 问题及分析2 多尺度霍夫直线 与 渐进概率霍夫线段 细节对比2.1 多尺度霍夫直线 HoughLines2.2 渐进概率霍夫线段 HoughLinesP2.3 HoughLines 和 HoughLinesP 所求结果细节对比2.4 为什么 HoughLinesP 直线两端没有呈放射状态呢&#xff1f;直线总是平行吗&#xff1f…

云原生应用的DevOps2(Jenkins渗透场景)

结论 Jenkins历史漏洞 Jenkins未授权访问 登录后命令执行 Jenkins代码仓库信息 Jenkins服务器建立多台服务器信任连接 背景 目前我看到红队人员的现状,不管是什么系统就是拿Shell,拿权限,然后把这台机器当作跳板继续横向其它机器。而Jenkins在内网中是经常能够遇到的,…