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

docker简述

1.安装dockers,配置docker软件仓库

安装,可能需要开代理,这里我提前使用了下好的包安装

启动docker

systemctl enable --now docker

查看是否安装成功

2.简单命令

拉取镜像,也可以提前下载使用以下命令上传

docker load -i images-name(镜像包)

查看镜像

docker images

查看镜像信息

 保存镜像

#保存镜像
docker image save nginx:latest -o nginx-latest.tar.gz
docker image save nginx:latest nginx:1.26-alpine -o nginx.tag.gz
#保存所有镜像
docker save `docker images | awk 'NR>1{print $1":"$2}'` -o images.tar.gz

删除镜像

运行docker容器

查看运行的docker容器

停止和启动容器

杀死容器,删除容器

docker kill test
docker rm nginx #删除停止的容器
docker rm -f busybox #删除运行的容器
docker container prune -f #删除所有停止的容器

3.构建镜像

docker build -t example:v1 . #构建镜像

镜像优化方案

减少镜像层,使用一条run命令

多阶段构建,先编译构建,在直接编译

vim Dockerfile(命名自定,默认是这个,使用自定义名字需要指定)FROM nginx:v1 as build
ADD nginx-1.24.0.tar.gz /mnt
WORKDIR /mnt/nginx-1.23.3
RUN yum install -y gcc make pcre-devel openssl-devel && sed -i 's/CFLAGS="$CFLAGS 
-g"/#CFLAGS="$CFLAGS -g"/g' auto/cc/gcc && ./configure --with-http_ssl_module --
with-http_stub_status_module && make && make install && cd .. && rm -fr nginx1.23.3&& yum clean all
FROM nginx:v1
COPY --from=build /usr/local/nginx /usr/local/nginx
EXPOSE 80
VOLUME ["/usr/local/nginx/html"]
CMD ["/usr/local/nginx/sbin/nginx", "-g", "daemon off;"]

使用最精简构建,下载官方最小的镜像,然后使用多阶段镜像构建

4.搭建仓库,registry仓库

下载registry镜像,开启registry

docker pull registry
docker run -d -p 5000:5000 --restart=always --name test registry

docker ps 查看运行情况,上传镜像,给镜像打标签

 docker tag busybox:latest 172.25.254.100:5000/busybox:latest

提供加密服务,生成证书,这里我建立了当前路径下的certs,将证书和密钥建立到了certs下面,这里路径可按自我需求写

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

编译启动registry,路径和上面放证书的路径一致

 docker run -d -p 443:443 --restart=always --name registry \
> --name registry -v /opt/registry:/var/lib/registry \
> -v /root/certs:/certs \
> -e REGISTRY_HTTP_ADDR=0.0.0.0:443 \
> -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/timinglee.org.crt \
> -e REGISTRY_HTTP_TLS_KEY=/certs/timinglee.org.key registry

给客户端生成证书

mkdir /etc/docker/certs.d/reg.timinglee.org/ -p #建立客户端的证书目录
cp /root/certs/timinglee.org.crt  /etc/docker/certs.d/reg.timinglee.org/ca.crt #将生成的证书写进去
systemctl restart docker #启动docker
docker push reg.timinglee.org/busybox:latest #拉取镜像#访问测试curl -k https://reg.timinglee.org/v2/_catalog

测试成功效果

配置harbor仓库

下载harbor压缩包并解压,切换到harbor目录,复制一份配置文件,编辑配置文件,将证书信息和主机信息以及密码改为自己的信息上去然后安装

tar zxf harbor-offline-installer-v2.5.4.tgz
cd harbor/
cp harbor.yml.tmpl harbor.ymlvim harbor.yml
hostname: reg.timinglee.org
certificate: /data/certs/timinglee.org.crt
private_key: /data/certs/timinglee.org.key
harbor_admin_password: lee# ./install.sh --with-chartmuseum

访问地址或者域名,需要解析,测试效果如下 

5.dockers的安全加固

dockers的默认隔离性,和操作系统共用,不安全

 

使用lxcfs增加隔离性

安装lxcfs

运行lxcfs

容器特权的限制

默认都允许

 

使用参数限制

6.dockers compose,查看配置和配置文件

docker compose管理命令

启动,删除,重启,开始,停止等

查看compose日志

相关文章:

docker简述

1.安装dockers,配置docker软件仓库 安装,可能需要开代理,这里我提前使用了下好的包安装 启动docker systemctl enable --now docker查看是否安装成功 2.简单命令 拉取镜像,也可以提前下载使用以下命令上传 docker load -i imag…...

第27周:Transformer实战:文本分类

目录 前言 一、前期准备 1.1 环境安装 1.2 加载数据 二、数据预处理 2.1 构建词典 2.2 生成数据批次和迭代器 2.3 构建数据集 三、模型构建 3.1 定义位置编码器 3.2 定义Transformer模型 3.3 初始化模型 3.4 定义训练函数 3.5 定义评估函数 四、训练模型 4.1 模…...

在QT中将Widget提升为自定义的Widget后,无法设置Widget的背景颜色问题解决方法

一、问题 在Qt中将QWidget组件提升为自定义的QWidget后,Widget设置的样式失效,例如设置背景颜色为白色失效。 二、解决方法 将已经提升的QWidget实例对象,脱离父窗体的样式,然后再重新设置自己的样式。...

【学习笔记】手写一个简单的 Spring IOC

目录 一、什么是 Spring IOC? 二、IOC 的作用 1. IOC 怎么知道要创建哪些对象呢? 2. 创建出来的对象放在哪儿? 3. 创建出来的对象如果有属性,如何给属性赋值? 三、实现步骤 1. 创建自定义注解 2. 创建 IOC 容器…...

日记学习小迪安全27

感觉复制粘贴没有意思,而且还有点浪费时间,主要是学习,不是复制,那就复制别人的吧 第27关就参考这篇文章吧,以下大部分内容都是参考以下文章(侵权删除) 第27天:WEB攻防-通用漏洞&a…...

【React】类组件和函数组件

构建组件的方式 函数式组件(function)createElement(不建议使用)类组件形式创建(不建议使用) 对于 React 的理解 React, 用于构建用户界面的JavaScript库,本身只提供了Ul层面的解决方案。&am…...

Spring Boot应用开发

Spring Boot是一个基于Spring框架的开源Java框架,旨在简化新Spring应用的初始化和开发过程。它通过提供各种默认配置,减少了繁琐的配置,使开发者能够专注于业务逻辑的实现。本文将介绍Spring Boot的基本概念、优点、关键特性以及如何构建一个…...

mysql事务使用和事务隔离级别与sqlserver的比较

在 MySQL 中,事务 (Transaction) 是一个将一组 SQL 语句作为一个整体执行的机制。事务确保要么所有操作都执行成功,要么在遇到错误时回滚到之前的状态,从而保证数据库数据的一致性和完整性。 事务的四大特性(ACID) 事…...

双光吊舱图像采集详解!

一、图像采集 可见光图像采集: 使用高性能的可见光相机,通过镜头捕捉自然光或人工光源照射下的目标图像。 相机内部通常配备有先进的图像传感器,如CMOS或CCD,用于将光信号转换为电信号。 红外图像采集: 利用红外热…...

1688商品详情关键词数据-API

要利用 Python 爬虫采集 1688 商品详情数据,需要先了解 1688 网站的页面结构和数据请求方式。一般使用 requests 库请求网站的数据,使用 BeautifulSoup 库解析网页中的数据。 以下是一个简单的 Python 爬虫采集 1688 商品详情数据的示例代码&#xff1a…...

vue 的属性绑定

双大括号不能在 HTML attributes 中使用。想要响应式地绑定一个 attribute&#xff0c;应该使用 v-bind 指令。 <template> <div v-bind:class"boxClass" v-bind:id"boxId"> </div> </template><script> export default{da…...

【附源码】Python :打家劫舍

系列文章目录 Python 算法学习&#xff1a;打家劫舍问题 文章目录 系列文章目录一、算法需求二、解题思路三、具体方法源码方法1&#xff1a;动态规划&#xff08;自底向上&#xff09;方法2&#xff1a;动态规划&#xff08;自顶向下&#xff09;方法3&#xff1a;优化的动态…...

YOLO11改进 | 注意力机制| 对小目标友好的BiFormer【CVPR2023】

秋招面试专栏推荐 &#xff1a;深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 &#x1f4a1;&#x1f4a1;&#x1f4a1;本专栏所有程序均经过测试&#xff0c;可成功执行&#x1f4a1;&#x1f4a1;&#x1f4a1; 本文介绍了一种新颖的动态稀疏注意力机制…...

高级Python开发工程师的面试备考指南

目录 博客标题:高级Python开发工程师的面试备考指南:30个面试问题与详细解析岗位职责问题解析1. 公司产品功能开发和代码维护2. 技术方案与项目计划制定3. 算法基础与代码优化4. 项目管理与团队协作任职要求问题解析5. Python 开发经验6. 数据处理相关库(Pandas, Numpy, Mat…...

【Java】JAVA知识总结浅析

Java是一门功能强大的编程语言&#xff0c;广泛应用于多个领域。Java的编程思想&#xff0c;包括面向过程和面向对象编程&#xff0c;Java的发展历史&#xff0c;各版本的特点&#xff0c;JVM原理&#xff0c;数据类型&#xff0c;Java SE与Java EE的区别&#xff0c;应用场景&…...

23-云原生监控系统

├──23-云原生监控系统 | ├──1-Prometheus监控 | | ├──1-二进制方式部署Prometheus监控系统 | | ├──2-二进制方式部署Prometheus监控系统告警 | | ├──3-容器化构建Prometheus监控系统 | | ├──4-容器监控方案CAdvisor | | └──5-k8s监…...

信息安全工程师(40)防火墙技术应用

一、防火墙的基本概念 防火墙是一种网络安全设备&#xff0c;用于监控和控制网络流量&#xff0c;以保护网络免受未经授权的访问和攻击。它可以是装配多张网卡的通用计算机&#xff0c;也可能是通用的物理设备。防火墙通过在网络之间设置访问控制策略&#xff0c;对进出的通信流…...

Liquid AI与液态神经网络:超越Transformer的大模型架构探索

1. 引言 自2017年谷歌发表了开创性的论文《Attention Is All You Need》以来&#xff0c;基于Transformer架构的模型迅速成为深度学习领域的主流选择。然而&#xff0c;随着技术的发展&#xff0c;挑战Transformer主导地位的呼声也逐渐高涨。最近&#xff0c;由麻省理工学院(M…...

Spring Boot 进阶-详解Spring Boot中使用Swagger3.0

在上篇文章中我们介绍了Spring Boot 整合Swagger3.0的一些基础用法,这篇文章中我们来深入学习一下Swagger3.0 还有其他高级用法。 在日常的开发中,为了减少工作量,我们会遇到一种情况,就是将前端的接口与后端的接口编写到同一个代码中,这样也提高了代码的复用率,减少了重…...

Linux平台Kafka高可用集群部署全攻略

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《大数据前沿&#xff1a;技术与应用并进》&#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 一、引言 1、Kafka简介 2、Kafka核心优势 二、环境准备 1…...

将 Hermes Agent 工具连接到 Taotoken 自定义模型提供方

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 将 Hermes Agent 工具连接到 Taotoken 自定义模型提供方 Hermes Agent 是一款功能强大的 AI 智能体开发工具&#xff0c;它支持通过…...

小学期学习记录

第十一周观看了前四个视频&#xff0c;了解了低通滤波器的作用以及进行了仿真。...

MD5是哈希,不是加密,防君子不防小人

一、先把概念说清楚很多开发者在日常交流中习惯说“MD5加密”&#xff0c;这个说法流传太久&#xff0c;以至于不少人真的以为MD5是一种加密算法。实际上&#xff0c;MD5属于哈希&#xff08;Hash&#xff09;算法&#xff0c;也叫散列算法或消息摘要算法。加密和哈希的本质区别…...

量子退火优化CPS测试用例生成的技术解析

1. 量子退火在CPS测试用例生成中的应用概述在安全关键系统&#xff08;如自动驾驶、工业控制系统&#xff09;的开发过程中&#xff0c;测试用例的质量直接关系到系统的可靠性。传统测试方法面临两大核心挑战&#xff1a;一是如何在庞大的输入空间中找到最具检测效力的测试用例…...

从‘亮灯’到‘定位’:一个真实商用车J1939故障排查全记录(含DM1多包传输解析)

从‘亮灯’到‘定位’&#xff1a;一个真实商用车J1939故障排查全记录&#xff08;含DM1多包传输解析&#xff09; 1. 故障现象与初步诊断 那是一个普通的周二早晨&#xff0c;维修车间接到一辆6x4牵引车的报修单——仪表盘上的MIL&#xff08;故障指示灯&#xff09;持续点亮。…...

Apache RocketMQ 5.0 架构解析:如何基于云原生架构支撑多元化场景

本文将从技术角度了解 RocketMQ 的云原生架构&#xff0c;了解 RocketMQ 如何基于一套统一的架构支撑多元化的场景。 文章主要包含三部分内容。首先介绍 RocketMQ 5.0 的核心概念和架构概览&#xff1b;然后从集群角度出发&#xff0c;从宏观视角学习 RocketMQ 的管控链路、数…...

【免费下载】 AD7124中文手册(非常完整)

AD7124中文手册&#xff08;非常完整&#xff09; 【下载地址】AD7124中文手册非常完整 AD7124-8是一款高性能模拟前端&#xff0c;设计用于在各种苛刻环境中实现精确的数据采集。这款芯片的特点在于其内置的高精度24位Σ-Δ模数转换器(ADC)&#xff0c;能够灵活配置以支持8个差…...

Linux实战:部署MinIO对象存储服务与Systemd开机自启配置详解

1. MinIO简介与环境准备 MinIO是一款高性能的分布式对象存储服务&#xff0c;完全兼容Amazon S3 API。它特别适合在私有云环境中部署&#xff0c;提供文件存储、备份和归档等功能。我在多个生产环境中使用过MinIO&#xff0c;它的轻量级设计和简单配置让我印象深刻。 首先需要准…...

告别‘悲’:当AssetStudio遇到加密的AssetBundle,试试这几款替代工具(附实战对比)

突破加密壁垒&#xff1a;Unity资源逆向工程全工具链实战指南 当AssetStudio面对加密的AssetBundle时&#xff0c;开发者常陷入困境。本文将系统梳理Unity资源逆向工程的完整解决方案&#xff0c;从基础提取到高级解密技术&#xff0c;提供一套可落地的工具链选择策略。 1. 加密…...

充电桩源头厂家怎么选?五大核心维度教你精准选型

充电桩源头厂家怎么选&#xff1f;五大核心维度教你精准选型新能源充电基础设施建设进入高速发展期&#xff0c;物业、城投、能源企业、物流园区等采购方在选择充电桩源头厂家时&#xff0c;往往陷入“品牌多、难分辨、怕踩坑”的困境&#xff1a;贴牌组装产品质量无保障、小厂…...