当前位置: 首页 > news >正文

Docker Compose与私有仓库

Docker Compose与私有仓库

docker-compose -v 查看版本信息

Docker Compose的应用

创建APACHE容器

vim docker-compose.yaml

yaml文件缩进严格;冒号后有内容需要加空格,冒号后无内容一般不加空格
冒号后的内容中若包含路径‘/’或‘:’时最好在内容外添加引号,单引号/双引号都可以

services:webapp:image: 'httpd:latest'ports:- "80:80"- "443:443"volumes:- "/var/www/html:/usr/local/apache2/htdocs:rw"

运行docker-compose命令时需要在上面的yaml文件目录下

docker-compose up -ddocker-compose start/stop webapp //启动/关闭webapp
docker-compose kill webapp //强制关闭webapp
[root@localhost ~]# docker-compose port webapp 8080
no port 8080/tcp for container root-webapp-1: 443/tcp, 443/tcp, 80/tcp, 80/tcp        //80和443出现两次的原因是分为ipv4和ipv6
为容器做副本需要取消端口映射,取消端口映射不会自动进行端口映射 因为为容器做副本一般是在集群环境中,不需要直接访问容器
为容器做副本
docker-compose scale webapp=3

创建nginx容器

services:webnginx:image: 'nginx'ports:- '80:80'volumes:- '/www/html:/www/html:rw'- '/opt/nginx/nginx.conf:/etc/nginx/nginx.conf'

Harbor

安装Harbor

首先需要在官网下载离线安装包
harbor
harbor2
将安装包上传到节点后解压

[root@localhost ~]# tar -zxvf harbor-offline-installer-v2.4.3.tgz
解压后的目录文件如下:
[root@localhost ~]# cd harbor
[root@localhost harbor]# ls
common.sh  harbor.v2.4.3.tar.gz  harbor.yml.tmpl  install.sh  LICENSE  prepare
配置harbor
将配置文件模板拷贝一份,并命名为harbor.yml,这是默认的配置文件名称:
[root@localhost harbor]# cp harbor.yml.tmpl harbor.yml
编辑harbor.yml文件,按照如下说明修改几处配置项:
[root@localhost harbor]# vim harbor.yml
# 修改为当前所在节点的ip
hostname: 192.168.10.102# 登录界面的密码
harbor_admin_password: pwd123# 将https相关的配置给注释掉,这里为了简单只使用http,而且也可以在nginx那一层去做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[root@localhost harbor]# ./install.sh
注意:
注释掉https相关的行

之后可以使用浏览器访问本机IP,即可登录harbor进行配置

使用其他节点访问本机Harbor时需要指定本地仓库,在/etc/docker/daemon.json中添加如下行

"insecure-registries": ["192.168.10.106"]

上传镜像到harbor

Harbor对上传镜像名称格式要求:项目服务器IP/项目/镜像名称:TAG
使用docker tag命令改名
需要事先上传nginx的配置文件到指定的路径

docker push 192.168.10.106/kubernetes/cirros:v1

相关文章:

Docker Compose与私有仓库

Docker Compose与私有仓库 docker-compose -v 查看版本信息 Docker Compose的应用 创建APACHE容器 vim docker-compose.yaml yaml文件缩进严格;冒号后有内容需要加空格,冒号后无内容一般不加空格 冒号后的内容中若包含路径‘/’或‘:’时…...

AI学习记录 - gpt如何进行token化,理论知识,以GPT2为举例

AI学习记录已经发了十几篇,大佬们可以看看,如果有帮助动动小手点赞 token入门版,有空会更新具体代码操作 GPT4当中,我们提问问题是按照token进行扣费的,那到底什么是token? 在不同的语言模型当中&#x…...

Java线程池和执行流程

在 Java 中,常见的四种线程池包括: 1. newFixedThreadPool(固定大小线程池) 应用场景:适用于需要限制线程数量,并且任务执行时间比较均匀的场景,例如服务器端的连接处理。优点:线程数…...

进程信号的产生与处理

目录 前言 一.信号的概念 二.信号的产生 1.键盘产生 2.系统调用 3.软件条件 4.异常 三.信号的保存 四.信号的处理 信号处理的方式 设定屏蔽信号 自定义处理信号 信号处理的时机 前言 进程信号(Process Signals)是操作系统与运行进程之间进行通…...

统一响应结果封装,Result类的实现【后端 06】

统一响应结果封装,Result类的实现 在开发Web应用或API接口时,如何优雅地处理并返回响应结果是每个开发者都需要考虑的问题。统一响应结果封装(Unified Response Encapsulation)作为一种广泛采用的实践,不仅提高了API的…...

明日周刊-第20期

本周异形新电影上映,开始期待起来了,毕竟这是一个经久不衰的ip。还有就是马上来临的黑神话悟空,属于我们自己的3A大作,接下去的每一天都是新的期待。 文章目录 科技短讯资源分享随便说说一点心情 科技短讯 科技创新与突破 人工智…...

深入剖析 Spring 常用注解:功能与差异的全景洞察

《深入剖析 Spring 常用注解:功能与差异的全景洞察》 在当今的 Java 开发领域,Spring 框架无疑是最广泛使用的框架之一。而在 Spring 中,注解的运用极大地简化了开发流程,提高了代码的可读性和可维护性。本文将深入探讨 Spring 中…...

【隐私计算篇】隐私计算使用不当也会泄露原始数据

1. 背景信息 有个有趣的问题,刚好最近有讨论到,在这里也抛一下,就是隐私计算中我们经常谈到主流的一些技术,比如联邦学习、多方安全计算、安全求交、匿踪查询、可信执行环境等,然后笼统地会称这些技术实现了对隐私…...

C++第一讲:开篇

C第一讲:开篇 1.C历史背景1.1C创世主--本贾尼1.2C版本更新1.3C的重要性1.4C书籍推荐 2.C的第一个程序3.命名空间3.1namespace是什么3.2namespace的使用3.3namespace使用注意事项3.4命名空间的使用 4.C输入和输出5.缺省参数6.函数重载7.引用7.1什么是引用7.2引用的定…...

OceanBase V4.2特性解析:MySQL模式下GIS空间表达式的场景及能力解析

1. 背景 1.1. OceanBase Mysql gis空间表达式的应用场景及能力 在OceanBase 4.1版本中,mysql模式下支持了gis数据类型以及部分空间对象相关的表达式,随着客户使用空间数据的需求日益增长,需要快速地补齐空间数据存储和计算分析的能力&#…...

HSL模型和HSB模型,和懒人配色的Color Hunt

色彩不仅仅是视觉上的享受,它在数据可视化中也扮演着关键角色。通过合理运用色彩模型,我们可以使数据更具可读性和解释性。在这篇文章将探讨HSL(Hue, Saturation, Lightness)和HSB(Hue, Saturation, Brightness&#x…...

什么是云原生?(二)

1. 云原生的定义 云原生指构建和运行应用以充分利用通过云技术交付模式交付的分布式计算。云原生应用旨在充分利用云技术平台特有的可扩展性、弹性和灵活性优势。 根据云原生计算基金会 (CNCF) 的定义,云原生技术可帮助企业在公有云、私有云和混合云环境中构建和…...

pytorch 47 模型剪枝实战|基于torch-pruning库代码对yolov10n模型进行剪枝

torch-pruning官方提供了基于yolov8的剪枝代码,基于此代码改进博主实现了对yolov10n模型的剪枝。虽然实现了对yolov10n模型的剪枝,剪枝目标为移除60%的通道,然而实验是失败的,针对coco数据集进行操作,剪枝前的模型map时37,剪枝后只能恢复到22,比预计下降了15个点,剪枝后…...

LeetCode_sql_day15(262.行程与用户)

描述:262. 行程和用户 - 力扣(LeetCode) 取消率 的计算方式如下:(被司机或乘客取消的非禁止用户生成的订单数量) / (非禁止用户生成的订单总数)。 编写解决方案找出 "2013-10-01" 至 "2013-10-03" 期间非禁止…...

【MySQL】详解数据库约束、聚合查询和联合查询

数据库约束 约束类型 数据库的约束类型主要包括以下几种: 主键约束(Primary Key Constraint):确保表中的每一行都有唯一的标识,且不能为NULL。 外键约束(Foreign Key Constraint)&#xff1a…...

bug积累

1.只写 int p[len1 len2]; 时,实际上是在使用 C99 标准中引入的变长数组(VLA, Variable Length Array)的特性。变长数组允许在栈上分配其大小在运行时确定的数组。这意味着 len1 和 len2 的值可以在程序运行时确定,但仍然可以用来…...

版本控制案例:全球虚拟制片领导者Dimension借助Perforce Helix Core简化多供应商协作,控制访问权限,确保数据资产安全(下)

创建虚拟世界和人物角色需要一系列的软件工具。但最终愿景很少是由单一工作室独立完成的。对于大型项目,工作室需要通力合作,将全球的团队成员和数字资产联合起来。 Dimension Studio——体积内容捕捉和虚拟制片领域的领导者——不断将新技术和新方法融…...

Anaconda配置envs和pcks路径

问题 原先Anaconda安装在C盘,安装很多包后只剩几个G了,为了给C盘腾空间,卸载后重新安装在了D盘,但是创建了新环境后发现环境位置依旧在C盘,安装新的包仍然会占用C盘空间。 解决办法 查看conda的配置信息 执行如下命…...

推荐10个在线搭建框架平台

前言 在开发项目的时候,首先就是要搭建一个框架。这个框架可以是纯技术框架,也可以具备一定功能的开源框架。但是在搭建框架的时候,版本的冲突,环境的配置等是新手们一直头痛的问题,在构建开源框架的时候,…...

Linux Shell--函数

前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除 一、简介 Shell 函数是一段可以重复使用的代码块,通过定义函数可以避免代码重复,提高脚本的可读性和可维护性。 二、定义函数…...

效率提升秘籍:在PyTorch-2.x-Universal-Dev环境里,这样用pyyaml和requests最省事

效率提升秘籍:在PyTorch-2.x-Universal-Dev环境里,这样用pyyaml和requests最省事 1. 引言:为什么这两个库值得关注 在深度学习项目开发中,我们常常把注意力集中在模型架构和训练算法上,却忽略了两个看似简单但极其重…...

Python实战:如何用多线程加速破解ZIP/RAR密码(附完整代码)

Python多线程密码破解实战:从原理到性能优化 在数据恢复和渗透测试领域,密码保护的压缩文件处理是常见需求。当我们面对遗忘密码的ZIP/RAR文件时,Python提供了高效的解决方案。本文将深入探讨如何利用多线程技术显著提升密码破解效率&#xf…...

深度解析:如何高效使用开源虚拟机检测工具VMDE实现系统环境识别

深度解析:如何高效使用开源虚拟机检测工具VMDE实现系统环境识别 【免费下载链接】VMDE Source from VMDE paper, adapted to 2015 项目地址: https://gitcode.com/gh_mirrors/vm/VMDE 虚拟机检测工具VMDE是一款专业的开源工具,专门用于精确识别系…...

告别在线翻译!用Ollama本地部署translategemma-4b-it保护隐私

告别在线翻译!用Ollama本地部署translategemma-4b-it保护隐私 1. 为什么选择本地部署翻译模型 1.1 在线翻译的隐私风险 当我们使用在线翻译服务时,所有输入的内容都会被发送到服务提供商的服务器。这意味着: 敏感的商业文档可能被第三方存…...

二叉树中堆的数据结构

堆的概念和结构 如果有一个关键码的集合K {k1 &#xff0c;k2 &#xff0c;k3 &#xff0c;…&#xff0c;kn }&#xff0c;把它的所有元素按完全二叉树的顺序存储方式存储 在一个一维数组中&#xff0c;&#xff08;i为下标&#xff09;并满足&#xff1a;ki < k(2i1)且 k…...

OpenClaw开源贡献:为Qwen3.5-9B-AWQ-4bit开发社区技能

OpenClaw开源贡献&#xff1a;为Qwen3.5-9B-AWQ-4bit开发社区技能 1. 为什么选择为OpenClaw开发技能&#xff1f; 去年冬天&#xff0c;当我第一次在本地部署OpenClaw时&#xff0c;就被它的设计理念所吸引——一个真正能在个人电脑上运行的AI智能体框架。但很快我发现&#…...

OpenClaw技能市场探索:Phi-3-mini-128k-instruct支持的10个实用自动化模块

OpenClaw技能市场探索&#xff1a;Phi-3-mini-128k-instruct支持的10个实用自动化模块 1. 为什么需要技能市场&#xff1f; 第一次接触OpenClaw时&#xff0c;我被它的基础能力惊艳到了——能自动操作我的电脑完成各种任务。但很快发现一个问题&#xff1a;每次都要从头编写指…...

AITINKR_JSON_FIELDS:面向MCU的零碎片JSON字段管理库

1. AITINKR_JSON_FIELDS 库深度解析&#xff1a;面向资源受限 IoT 设备的动态 JSON 字段管理方案在嵌入式物联网设备开发中&#xff0c;JSON 已成为事实上的数据交换标准。从传感器数据上报、OTA 配置下发&#xff0c;到设备状态同步与远程控制指令解析&#xff0c;JSON 的轻量…...

基于MATLAB+CPLEX gurobi平台的电力系统机组组合研究:考虑安全约束与直流潮流优...

MATLAB代码&#xff1a;考虑安全约束及热备用的电力系统机组组合研究 关键词&#xff1a;机组组合 直流潮流 优化调度 参考文档&#xff1a;自编文档&#xff0c;模型数据清晰明了 仿真平台&#xff1a;MATLABCPLEX/gurobi平台 优势&#xff1a;代码具有一定的深度和创新性&a…...

2026届必备的AI科研平台实际效果

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 当前学术写作场景中&#xff0c;AI辅助平台已广泛应用。因经过综合评估&#xff0c;所以以下…...