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

Docker参数,以及仓库搭建

一·。Docker的构建参数

注释:

1.对于CMD,如果不想显示,而是使用交互界面:docker run -ti --rm --name test2 busybox:v5 sh

2.对于CMD,一个交互界面只可以使用一个,如果想多次使用CMD,则用ENTRYPOINT进行替换

FROM的基本使用

mkdir /docker

cd /docker

vi /Dockerfile

  • FROM busybox:这是 Dockerfile 中的一条指令,FROM 用于指定基础镜像,busybox 是一个轻量级的 Linux 工具集镜像,许多 Docker 镜像都会基于它来构建,以此为基础可以在其之上添加额外的功能。
  • RUN touch /leefileRUN 指令用于在镜像构建过程中执行命令。touch 是 Linux 系统中用于创建空文件的命令,/leefile 是要创建的文件的路径,这里表示在镜像中创建一个名为 leefile 的空文件。

docker build -t busybox:v2 . (或者使用:docker build -f /docker/Dockerfile1 -t busybox:v3 .)

docker build 是 Docker 用于构建镜像的命令,-t 选项用于给构建的镜像指定一个标签(tag),busybox:v2 表示镜像的名称为 busybox,版本号为 v2

docker run -it --rm --name test1 busybox:v2

--rm 选项表示容器停止运行后自动删除容器,避免占用过多磁盘空间。

综上所述,这一系列操作的整体流程是:先创建一个目录,然后在该目录下创建一个 Dockerfile 来定义镜像的构建步骤,接着使用 docker build 命令基于 Dockerfile 构建一个名为 busybox:v2 的镜像,最后使用 docker run 命令基于这个镜像启动一个交互式的容器,并将其命名为 test1,容器停止后会自动删除。

docker history busybox:v2:可以用于查看该镜像版本的信息

COPY的使用

将passwd复制到容器内

1.首先进行文件的复制,copy /etc/passwd  /docker

2.vi /docker/Dockerfile1

3.docker build -f /docker/Dockerfile1 -t busybox:v3 .

4.docker run -it --rm --name test1 busybox:v2

ADD和COPY相似,可以进行压缩文件

二。docker内部署centos

三。搭建docker的私有仓库

1. docker pull registry:拉取文件

2. docker run -d -p 5000:5000 --restart=always registry

创建register容器,-p端口5000,--restart=always:这是一个重启策略选项,指定容器在退出后总是自动重启,确保镜像仓库服务能够持续运行

3.docker tag busybox:latest 192.168.142.135:5000/busybox:latest

  • docker tag用于为镜像添加标签,方便对镜像进行标识和管理。
  • busybox:latest:是源镜像的名称和标签,这里表示本地的busybox镜像的latest版本。
  • 192.168.142.135:5000/busybox:latest:是目标标签,指定了将本地的busybox:latest镜像标记为可以推送到地址为192.168.142.135、端口为 5000 的本地镜像仓库中的busybox:latest镜像。

4.docker push 192.168.142.135:5000/busybox:latest

  • docker push:用于将本地的镜像推送到指定的镜像仓库。
  • 192.168.142.135:5000/busybox:latest:指定了要推送的镜像的目标地址和名称标签

5.vi /etc/docker/daemon.json 

6.测试:

注释:register文件在:

/var/lib/docker/volumes/a03953bf68bf99f30e7529aac89ed497fbfbd7af6c55abc71330123b6ce60f82/_data/docker/registry/v2/repositories

拓展:私有仓库直接存入,风险太大,需要进行加密保证安全性:

1.mkdir certs:创建用于存储共公私钥的目录

2.openssl req -newkey rsa:4096 -nodes -sha256 -keyout certs/jiami.org.key -addext "subjectAltName =DNS:reg.jiami.org" -x509 -days 365 -out certs/jiami.org.crt

注释:使用openssl req生成一个4096位的私钥,采用sha256哈希算法最终将私钥存储与certs/jiami.org.key文件内,指定解析后,生成-x509证书,最终将证书保存于后续文件

3.docker run -d -p 443:443 --restart=always -v /root/certs:/certs

-e REGISTRY_HTTP_ADDR=0.0.0.0:443

-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/jiami.org.crt

-e REGISTRY_HTTP_TLS_KEY=/certs/jiami.org.key registry:latest

注释:-v /root/certs:/certs,-v表挂载,将主机上的/root/cets挂载于容器内的certs,-e表设置环境变量,设置端口,证书和私钥

4. mkdir -p /etc/docker/certs.d/reg.jiami.org:创建一个docker子目录用于存储证书

5.cp /root/certs/jiami.org.crt /etc/docker/certs.d/reg.jiami.org/ca.crt:将证书复制于文件

6.systemctl restart docker

7.docker tag nginx:v1 reg.jiami.org/nginx:v1:打标签

8.docker push reg.jiami.org/nginx:v1:进行推送

四。为仓库建立登陆认证:(前提创建好私钥和证书)

1.yum install httpd-tools:下载登陆工具

2.mkdir auth

3. htpasswd -Bc auth/.htpasswd lee:为目录创建密码和用户lee

注释:再次添加密码和用户不需要添加c,只要-B

4. docker run -d -p 443:443 --restart=always -v /root/certs:/certs

-e REGISTRY_HTTP_ADDR=0.0.0.0:443

-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/jiami.org.crt

-e REGISTRY_HTTP_TLS_KEY=/certs/jiami.org.key -v /root/auth:/auth

-e REGISTRY_AUTH=".htpasswd"

-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm"

-e "REGISTRY_AUTH_HTPASSWD_PATH=/auth/.htpasswd" registry

注释:必须拥有此文件,提供http加密

注释:在以后上传任何东西前,必须进行登陆:docker login reg.jiami.org,否则无法上床内容于私有仓库

五。搭建一个Harbor仓库

wget -c https://github.com/goharbor/harbor/releases/download/v2.10.0/harbor-offline-installer-v2.10.0.tgz

相关文章:

Docker参数,以及仓库搭建

一。Docker的构建参数 注释: 1.对于CMD,如果不想显示,而是使用交互界面:docker run -ti --rm --name test2 busybox:v5 sh 2.对于CMD,一个交互界面只可以使用一个,如果想多次使用CMD,则用ENTR…...

正十七边形尺规作图证明——从高斯的发现到几何实现

正十七边形尺规作图证明——从高斯的发现到几何实现 1. 引言:一个历史性的数学突破 在欧几里得几何中,尺规作图(仅使用直尺和圆规)是最为基础的几何构造方法。古希腊数学家已知如何构造正三角形、正方形和正五边形,但…...

常见Web应用源码泄露问题

文章目录 前言一、常见的源码泄露漏洞git源码泄露SVN源码泄露DS_Store文件泄漏网站备份压缩文件泄露WEB-INF/web.xml泄露CVS泄露.hg源码泄露Bazaar/bzr泄露.swp文件泄露 前言 在Web应用方面对于安全来说,可能大家对SQL注入、XSS跨站脚本攻击、文件上传等一些漏洞已…...

如何使用 Python+Flask+win32print 实现简易网络打印服务1

Python 实现网络打印机:Flask win32print 在工作场景中,我们可能需要一个简单的网页接口,供他人上传文档并自动打印到指定打印机。 本文将演示如何使用 Python Flask win32print 库来实现这一需求。 代码详见:https://github.…...

使用Modelsim手动仿真

FPGA设计流程 在设计输入之后,设计综合前进行 RTL 级仿真,称为综合前仿真,也称为前仿真或 功能仿真。前仿真也就是纯粹的功能仿真,主旨在于验证电路的功能是否符合设计要求,其特点是不考虑电路门延迟与线延迟。在完成一个设计的代码编写工作之后,可以直接对代码进行仿真,…...

DeepSeek、Grok与ChatGPT:AI三巨头的技术博弈与场景革命

## 引言:AI工具的三国杀时代 2025年的AI江湖,DeepSeek以黑马之姿横扫全球应用榜单,Grok 3凭借马斯克的狂言抢占头条,ChatGPT则稳坐行业王座。这场技术竞赛不仅是参数量的比拼,更是一场关于效率、成本与场景适配的终极…...

windows自动锁屏,并且要输入密码。如何取消?

Windows 电脑自动锁屏并需要输入密码,通常是因为系统的 电源和睡眠设置 或 组策略 设定了自动锁屏。你可以按照以下方法取消自动锁屏或去掉密码要求: 方法 1:修改 Windows 设置 取消锁屏时间 Win I 打开 设置,进入 系统 → 电源和…...

Redis 主从复制、哨兵与集群的关系及工作原理详解

一、核心概念与关系 Redis 的 主从复制、哨兵(Sentinel) 和 集群(Cluster) 是逐步演进的高可用与分布式解决方案,三者关系如下: 主从复制:数据冗余与读写分离的基础。 哨兵:在主从…...

XSD 对 XML 数据格式验证 java

xsd文件&#xff0c;文件名bean.xsd&#xff0c;放在当前java文件目录下 <?xml version"1.0" encoding"UTF-8"?> <xs:schema xmlns:xs"http://www.w3.org/2001/XMLSchema"><xs:element name"bean"><xs:comple…...

利用 ArcGIS Pro 快速统计省域各市道路长度的实操指南

在地理信息分析与处理的工作中&#xff0c;ArcGIS Pro 是一款功能强大的 GIS 软件&#xff0c;它能够帮助我们高效地完成各种复杂的空间数据分析任务。 现在&#xff0c;就让我们一起深入学习如何借助 ArcGIS Pro 来统计省下面各市的道路长度&#xff0c;这一技能在城市规划、…...

1.4 单元测试与热部署

本次实战实现Spring Boot的单元测试与热部署功能。单元测试方面&#xff0c;通过JUnit和Mockito等工具&#xff0c;结合SpringBootTest注解&#xff0c;可以模拟真实环境对应用组件进行独立测试&#xff0c;验证逻辑正确性&#xff0c;提升代码质量。具体演示了HelloWorld01和H…...

蓝桥杯备考:六级词汇积累(day5)

dense 稠密的 condense 压缩 compassion 同情&#xff0c;怜悯 compact 紧凑的&#xff0c;紧密的 resent 愤恨 sober 清醒的 sole 唯一的&#xff0c;独占的 solely only solemn 表情严肃的&#xff0c;庄重的 stun 使昏迷 Stunned by the impact, he lay on the ground won…...

掌握Kubernetes Network Policy,构建安全的容器网络

在 Kubernetes 集群中&#xff0c;默认情况下&#xff0c;所有 Pod 之间都是可以相互通信的&#xff0c;这在某些场景下可能会带来安全隐患。为了实现更精细的网络访问控制&#xff0c;Kubernetes 提供了 Network Policy 机制。Network Policy 允许我们定义一组规则&#xff0c…...

结合rpart包的决策树介绍

决策树与CART算法 决策树是一种基于树状结构的监督学习算法。它通过从根节点开始递归地对特征进行划分&#xff0c;构建出一棵树来进行决策。决策树的构建过程需要解决的重要问题有三个&#xff1a;如何选择自变量、如何选择分割点、确定停止划分的条件。解决这些问题是希望随…...

VScode代码格式化插件black失效问题

之前有如下提示&#xff1a; 没太当回事&#xff0c;发现还能用。之后突然就用不了了&#xff0c;跟着官方插件的文档来查看log&#xff1a; 查看发现提示&#xff1a; Message: TypeError: type object is not subscriptable 在github界面找到解决方案&#xff1a;安装Versio…...

【经验分享】Ubuntu20.04编译RK3568 AI模型报错问题(已解决)

【经验分享】Ubuntu20.04编译RK3568 AI模型报错问题&#xff08;已解决&#xff09; 前言问题现象问题分析解决方案总结 前言 这里使用的是Rockchip提供的rknn_model_zoo&#xff0c;https://github.com/airockchip/rknn_model_zoo/tree/main 此解决方案适用于Rockchip芯片在U…...

AI革命先锋:DeepSeek与蓝耘通义万相2.1的无缝融合引领行业智能化变革

云边有个稻草人-CSDN博客 目录 引言 一、什么是DeepSeek&#xff1f; 1.1 DeepSeek平台概述 1.2 DeepSeek的核心功能与技术 二、蓝耘通义万相2.1概述 2.1 蓝耘科技简介 2.2 蓝耘通义万相2.1的功能与优势 1. 全链条智能化解决方案 2. 强大的数据处理能力 3. 高效的模型…...

基于SpringBoot实现旅游酒店平台功能一

一、前言介绍&#xff1a; 1.1 项目摘要 随着社会的快速发展和人民生活水平的不断提高&#xff0c;旅游已经成为人们休闲娱乐的重要方式之一。人们越来越注重生活的品质和精神文化的追求&#xff0c;旅游需求呈现出爆发式增长。这种增长不仅体现在旅游人数的增加上&#xff0…...

轻松上手 —— 通过 RPM 包快速部署 NebulaGraph

前言 在当今大数据时代&#xff0c;处理复杂关系数据的需求与日俱增&#xff0c;图数据库应运而生并逐渐崭露头角。NebulaGraph 作为一款高性能、分布式且易扩展的图数据库&#xff0c;专为应对大规模图数据处理而精心打造。它不仅具备丰富的查询语言&#xff0c;还拥有强大高效…...

每日一题——接雨水

接雨水问题详解 视频学习推荐 建议先参考以下视频进行学习&#xff1a; 问题描述 给定一个非负整数数组 height&#xff0c;表示每个宽度为 1 的柱子的高度图。计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 示例 示例 1&#xff1a; 输入&#xff1a;height …...

MetaGPT发布的MGX与Devin深度对比

家人们&#xff0c;搞编程的都知道&#xff0c;工具选对了&#xff0c;效率能翻倍&#xff01;今天必须给大伙唠唠MetaGPT发布的MGX编程助手和Devin编程助手 。 先看MGX&#xff0c;简直是编程界的王炸&#xff01;它就像一个超神的虚拟开发团队&#xff0c;一堆智能助手分工明…...

网络安全技术整体架构 一个中心三重防护

网络安全技术整体架构&#xff1a;一个中心三重防护 在信息技术飞速发展的今天&#xff0c;网络安全的重要性日益凸显。为了保护信息系统不受各种安全威胁的侵害&#xff0c;网络安全技术整体架构应运而生。本文将详细介绍“一个中心三重防护”的概念&#xff0c;并结合代码示…...

03.06 QT

一、使用QSlider设计一个进度条&#xff0c;并让其通过线程自己动起来 程序代码&#xff1a; <1> Widget.h: #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QThread> #include "mythread.h"QT_BEGIN_NAMESPACE namespace Ui {…...

【YOLOv12改进trick】多尺度大核注意力机制MLKA模块引入YOLOv12,实现多尺度目标检测涨点,含创新点Python代码,方便发论文

🍋改进模块🍋:多尺度大核注意力机制(MLKA) 🍋解决问题🍋:MLKA模块结合多尺度、门控机制和空间注意力,显著增强卷积网络的模型表示能力。 🍋改进优势🍋:超分辨的MLKA模块对小目标和模糊目标涨点很明显 🍋适用场景🍋:小目标检测、模糊目标检测等 🍋思路…...

SpringUI:打造高质量Web交互设计的首选元件库

SpringUI作为一个专为Web设计与开发领域打造的高质量交互元件库&#xff0c;确实为设计师和开发者提供了极大的便利。以下是对SpringUI及其提供的各类元件的详细解读和一些建议&#xff1a; SpringUI概述 SpringUI集合了一系列预制的、高质量的交互组件&#xff0c;旨在帮助设…...

鸿蒙Android4个脚有脚线

效果 min:number122max:number150Row(){Stack(){// 底Text().border({width:2,color:$r(app.color.yellow)}).height(this.max).aspectRatio(1)// 长Text().backgroundColor($r(app.color.white)).height(this.max).width(this.min)// 宽Text().backgroundColor($r(app.color.w…...

夏门大学DeepSeek 手册:从社会大众到高校及企业的全面应用实践研究(附 PDF 下载)

这 3 份手册分别从 DeepSeek 大模型概念、技术与应用实践、DeepSeek 大模型赋能高校教学和科研、DeepSeek 大模型及其企业应用实践-企业人员的大模型宝典几个角度进行全面分析&#xff0c;可以结合着清华、北大系列相互对照着学习。 清华北大推出的 DeepSeek 教程&#xff08;…...

嵌入式学习第二十三天--网络及TCP

进程通信的方式: 同一主机 传统 system V 不同主机 网络 --- 解决不同主机间 的进程间通信 网络 (通信) //1.物理层面 --- 联通(通路) //卫星 2G 3G 4G 5G 星链 (千帆) //2.逻辑层面 --- 通路(软件) MAC os LINUX …...

策略模式详解:实现灵活多样的支付方式

多支付方式的实现&#xff1a;策略模式详解 策略模式&#xff08;Strategy Pattern&#xff09;是一种行为设计模式&#xff0c;它定义了一系列算法&#xff0c;并将每个算法封装起来&#xff0c;使它们可以互换使用。策略模式使得算法可以独立于使用它的客户端变化。本文将通…...

【Java篇】算术如诗,逻辑似梦:Java 编程中的运算符探寻

文章目录 Java 运算符&#xff1a;在计算与逻辑之中追寻编程的哲理1.前言2. 算术运算符2.1 基本四则运算符&#xff1a;加减乘除&#xff08; - * / %&#xff09;2.2 除法与取余2.3 增量运算符&#xff08; --&#xff09;2.4 自增/自减运算符 3. 关系运算符3.1 关系运算符 4.…...