docker小白第五天

docker小白第五天

docker的私有库

有些涉密的信息代码不能放在阿里云的镜像仓库,因此需要构建一个个人内网专属的私有库,将镜像或者容器代码进行推送保存。

下载镜像docker registry

执行代码docker pull registry,用于搭建私服前的准备。
在这里插入图片描述
然后运行私有库registry,相当于本地有个私有的docker hub。

docker run -d -p 5000:5000 -v /cz/myregistry/:/tmp/registry --privileged=true registry

默认情况,仓库被创建在容器的/varlib/lregistry目录下,建议自行用容器卷映射,方便于宿主机联调。其中的5000:5000是端口,-p是指定端口映射。-d是后台守护式新建容器。
在这里插入图片描述

为原始ubuntu镜像增加ifconfig包命令

原始的ubuntu镜像启动一个ubuntu容器后,是无法识别ifconfig命令的,因此需要生成容器后,手动添加ifconfig包,然后生成成镜像副本,在上传到本地私有库中去。

docker pull ubuntu  
下载原始ubuntu镜像
docker run -it --name=myubuntu ubuntu /bin/bash
以交互式启动容器
apt-get update
更新apt管理器
apt-get install net-tools
安装ifconfig命令的包
ifconfig 验证容器是否能识别该命令

在这里插入图片描述
可以看到已经可以识别ifconfig了,刚刚新建的这个容器,他自己的ip是172.17.0.3

docker commit -m="add ifconfig cmd" -a="cz" 1a87279a5cbe myubuntu:1.0
编辑生成镜像的信息,要在容器外执行这个命令

可以看到生成镜像成功,然后docker images查看,已有该镜像。
在这里插入图片描述
在这里插入图片描述

然后利用刚刚生成的镜像新建一个容器,执行`ifconfig`可以看到是已经识别该命令的。

在这里插入图片描述

上传修改后的镜像到本地私服库

先执行代码,看看刚刚运行起来的私服库registry是否曾经上传过镜像

curl -XGET http://192.168.5.3:5000/v2/_catalog
查看镜像推送日志,ip输的是容器的宿主机ip,端口是刚刚创建容器时指定的5000。

可以看到没有历史上传记录
在这里插入图片描述

docker tag myubuntu:1.0 192.168.5.3:5000/myubuntu:1.0
打包刚刚生成的镜像,准备提交本地私有仓库

在执行docker images可以看到刚刚打包好的镜像
在这里插入图片描述

cat /etc/docker/daemon.json
vim /etc/docker/daemon.json
需要在这个json文件里边取消docker默认不允许http方式推送镜像的限制

vim进入这个文件后,先加个“,”号,然后输入如下命令,其中ip需要替换为自己宿主机的ip。如果修改完成后,仍然不生效,可以尝试重启docker。

"insecure-registries":["192.168.5.3:5000"]

在这里插入图片描述
然后执行systemctl restart docker重启docker。然后重运行下私服仓库docker run -d -p 5000:5000 -v /cz/myregistry/:/tmp/registry --privileged=true registry

docker push 192.168.5.3:5000/myubuntu:1.0
用docker images查看后,推送刚刚打包的镜像

在这里插入图片描述

查看私服库上刚刚推送的镜像记录
curl -XGET http://192.168.5.3:5000/v2/_catalog

在这里插入图片描述
然后删除刚刚打包和生成的镜像,重新去私服库上pull下来,运行,看看是否能正常识别ifconfig命令。

docker rmi -f 镜像id
强制删除某个镜像
docker pull 192.168.5.3:5000/myubuntu:1.0
从私服库下载刚刚上传过的镜像
docker images
查看是否已经下载成功
docker run -it 025303e926d7 /bin/bash
重新运行这个容器
ifconfig
测试该命令

可以看到已经成功。
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python异常值的自动检测实战案例

概要 在数据分析和机器学习中,异常值的检测是一个关键步骤,它有助于识别数据中的异常模式和离群点。本文将介绍Python中异常值检测的实战案例,使用一些常见的技术和库,为大家提供全面的示例代码和详细解释。 异常值的定义 异常值…

虚拟机下Ubuntu上网设置

文章目录 一、虚拟机上网的两种方式1.1 NAT模式(Network Address Translation)1.2 桥接模式(Bridge Mode)1.3 简介 二、实际配置2.1 NAT模式配置2.2 桥接模式配置 之前跟着博客配了好几个也没用,后来自己慢慢模式实践测…

HQL优化之数据倾斜

group by导致倾斜 前文提到过,Hive中未经优化的分组聚合,是通过一个MapReduce Job实现的。Map端负责读取数据,并按照分组字段分区,通过Shuffle,将数据发往Reduce端,各组数据在Reduce端完成最终的聚合运算。…

女生想通过培训转行软件测试类可行吗?

首先,女生转行IT行业做软件测试是可以的,因为软件测试岗,尤其是其中的功能性测试岗,入行门槛并不高,有很多女生在做,且我个人认为还蛮适合女生的,因为女生相对来说更细心,文档能力也…

PVE系列-防火墙的免费安静之旅IPfire

Ventoy一款引导盘可以引导各种启动盘安装盘的工具https://www.ventoy.net/cn/index.html 在它的兼容iso的列表 中发现了Ipfirehttps://wiki.ipfire.org/ ,本来用着openwrt也挺好,忍不住的虚拟机尝了尝鲜,发现的功能有2, 安全吧&a…

植物分类-PlantsClassification

一、模型配置 一、backbone resnet50 二、neck GlobalAveragePooling 三、head fc 四、loss type‘LabelSmoothLoss’, label_smooth_val0.1, num_classes30, reduction‘mean’, loss_weight1.0 五、optimizer lr0.1, momentum0.9, type‘SGD’, weight_decay0.0001 六、sche…

06. Python模块

目录 1、前言 2、什么是模块 3、Python标准库模块 3.1、os模块 3.2、datetime 模块 3.3、random模块 4、自定义模块 4.1、创建和使用 4.2、模块命名空间 4.3、作用域 5、安装第三方依赖 5.1、使用 pip 安装单个依赖 5.2、从 requirements.txt 安装依赖 5.3、安装指…

DOM树和DOM对象与JS关系的深入研究

const和let使用说明 var不好用,我们如果用变量都是用let,如果用常量乃是不变的量,我们用const,见let const知变量是否可变。比如一个常量在整个程序不会变,但是你用let,是可以的。但是let最好与内部变量改…

Mybatis的插件运⾏原理,如何编写⼀个插件?

🚀 作者主页: 有来技术 🔥 开源项目: youlai-mall 🍃 vue3-element-admin 🍃 youlai-boot 🌺 仓库主页: Gitee 💫 Github 💫 GitCode 💖 欢迎点赞…

基于springboot实现的健身房管理系统

一、系统架构 前端:html | js | css | jquery | bootstrap 后端:springboot | springdata-jdbc 环境:jdk1.7 | mysql | maven 二、代码及数据库 三、功能介绍 01. 登录页 02. 管理员-首页 03. 管理员-会员卡查询 04. 管理员-会员管理…

Zotero攻略

给大家分享一下我对于Zotero的使用。 1、下载链接 Zotero | Your personal research assistant 进入后直接下载即可 2、一些好用的插件 (1)Zotero Connector 下载地址:Zotero | Connectors 超级好用!不用一篇一篇下PDF了&am…

mipi dsi协议DBI/DPI接口

MIPI dsi协议中的DBI/DPI接口主要用于主机和display设备之间的数据传输,说的更通俗一点就是DSI RX控制器和实际的显示面板之间的接口;dsi 协议spec中对DBI/DPI有描述: DSI协议中对DBI 接口模式命名为command mode operation,对DP…

QT5 CMake进行开发

配置环境 因为是使用CMake进行开发,所以推荐使用的QT版本是 5.14.2。因为楼主有 vs2015的环境,所以在安装QT时选择的是 msvc 2015 64bit msvc 2017 32bit 勾选了所有需要的模块。kit配置如下 图中画框的地方是比较关键的地方,1. 指定编译器…

【CMU 15-445】Lecture 12: Query Execution I 学习笔记

Query Execution I Processing ModelsIterator ModelMaterialization ModelVectorization Model Access MethodsSequential ScanIndex Scan Modification QueriesHalloween Problem 本节课主要介绍SQL语句执行的相关机制。 Processing Models 首先是处理模型,它定义…

FreeRtos里的几个中断屏蔽

1、primask 寄存器 PRIMASK用于禁止除NMI和HardFalut外的所有异常和中断,使用方法: cpsid i ; //设置primask (禁止中断) cpsie i ; //清除primask (使能中断) 也可以 movs r0,#1 msr primask r0; //将 1写入p…

RHEL7.5编译openssl1.1.1w源码包到rpm包

openssl1.1.1w下载地址 https://www.openssl.org/source/ 安装依赖包 yum -y install curl which make gcc perl perl-WWW-Curl rpm-build wget http://mirrors.aliyun.com/centos-vault/7.5.1804/os/x86_64/Packages/perl-WWW-Curl-4.15-13.el7.x86_64.rpm rpm -ivh pe…

java.lang.IllegalArgumentException: Could not resolve placeholder XXX‘ in value

问题描述 使用Springcloudalibaba的nacos作为配置中心,服务启动时报错: java.lang.IllegalArgumentException: Could not resolve placeholder XXX‘ in value java.lang.IllegalArgumentException: Param ‘serviceName’ is illegal, serviceName is …

[笔记] wsl 下使用 qemu/grub 模拟系统启动(单分区)

背景 最近在学习操作系统,需要从零开始搭建系统,由于教程中给的虚拟机搭建的方式感觉还是过于重量级,因此研究了一下通过 qemu 模拟器,配合 grub 完成启动系统的搭建。 qemu 介绍 qemu 是一款十分优秀的系统模拟器,…

ffmpeg6.0-ffplay.c源码分析(二)之整体框架大流程分析

文章目录 main()函数解读stream_open()函数解析event_loop函数解析关注公众号看全文: 想分析任何一个可执行程序,肯定从main()函数下手是比较合适的,ffplay的源代码也是如此。 main()函数解读 /* Called from the main */ int main(int argc, char **argv)

塑料检查井配套开发了注塑成型的井盖、井筒、井座

塑料检查井配套开发的注塑成型井盖、井筒、井座——城市基础设施的新选择 随着城市化进程的加快,城市基础设施建设的品质与效率日益受到重视。在这个背景下,塑料检查井及其配套开发的注塑成型井盖、井筒、井座以其独特的优势,正在逐渐取代传…