Docker基础入门:镜像、容器导入导出与私有仓库搭建
Docker基础入门:镜像导入导出与私有仓库搭建
- 一、 Docker镜像、容器的导入和导出
- 1.1、Docker镜像的导出
- 1.2、Docker镜像的载入
- 1.3、Docker容器的导出
- 1.4、Docker容器的导入
- 二、 镜像和容器导出和导入的区别:
- 三、commit操作_本地镜像发布到阿里云
- 3.1、commit操作有关步骤
- 3.2、使用" docker push" 命令将centos镜像提交至阿里云
- 四、Docker私有仓库搭建(registry)
- 4.1、下载镜像
- 4.2、查看
- 4.3、运行 registry
- 4.4、测试上传镜像到Registry
💖The Begin💖点点关注,收藏不迷路💖 |
一、 Docker镜像、容器的导入和导出
1.1、Docker镜像的导出
docker save [options] images [images...]docker save > uu.tar ubuntu:latest
或
docker save ubuntu:latest > uu.tar
1.2、Docker镜像的载入
#在镜像包所在的文件夹下操作
docker load --input uu.tar
#也可以使用
docker load -i uu.tar
或
docker load < uu.tar
1.3、Docker容器的导出
docker export 容器id/名称 > 导出的路径docker export 220aee82cfea > -o mysql.tar.gz
1.4、Docker容器的导入
容器的导入
docker import - 镜像用户/镜像名:镜像版本号cat mysql.tar.gz | docker import - test/mysql:5.7
二、 镜像和容器导出和导入的区别:
1.镜像导入 是复制的过程。
2.容器导入 是将当前容器 变成一个新的镜像。
save 和 export区别:
1)save 保存镜像所有的信息-包含历史信息。
2)export 只导出当前的信息。
首先,两者的操作对象不同。docker save是将一个镜像保存为一个tar包,而docker export是将一个容器快照保存为一个tar包。
然后,docker export导出的容器快照文件将丢弃所有的历史记录和元数据信息,即仅保存容器当时的快照状态;而docker save保存的镜像存储文件将保存完整记录,体积也要大。
三、commit操作_本地镜像发布到阿里云
3.1、commit操作有关步骤
提交容器副本成为新的镜像。
docker commit -m="提交的信息" -a="作者" 容器ID 要创建的目标镜像名:[标签名]
本地镜像发布到阿里云:
- 登录阿里云Docker Registry
$ docker login --username=aliyun075054**** registry.cn-hangzhou.aliyuncs.com
用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。
您可以在访问凭证页面修改凭证密码。
- 从Registry中拉取镜像
$ docker pull registry.cn-hangzhou.aliyuncs.com/zhaohaibao/centos:[镜像版本号]
- 将镜像推送到Registry
$ docker login --username=aliyun075054**** registry.cn-hangzhou.aliyuncs.com
$ docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/zhaohaibao/centos:[镜像版本号]
$ docker push registry.cn-hangzhou.aliyuncs.com/zhaohaibao/centos:[镜像版本号]
请根据实际镜像信息替换示例中的[ImageId]和[镜像版本号]参数。
- 选择合适的镜像仓库地址
从ECS推送镜像时,可以选择使用镜像仓库内网地址。推送速度将得到提升并且将不会损耗您的公网流量。
如果您使用的机器位于VPC网络,请使用 registry-vpc.cn-hangzhou.aliyuncs.com 作为Registry的域名登录。
- 示例
使用"docker tag"命令重命名镜像,并将它通过专有网络地址推送至Registry。
$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
registry.aliyuncs.com/acs/agent 0.7-dfb6816 37bb9c63c8b2 7 days ago 37.89 MB
$ docker tag 37bb9c63c8b2 registry-vpc.cn-hangzhou.aliyuncs.com/acs/agent:0.7-dfb6816
使用 "docker push" 命令将该镜像推送至远程。
$ docker push registry-vpc.cn-hangzhou.aliyuncs.com/acs/agent:0.7-dfb6816
3.2、使用" docker push" 命令将centos镜像提交至阿里云
####将centos镜像IMAGE ID (5d0da3dc9764)提交至阿里云
[root@zyl-server ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 605c77e624dd 19 months ago 141MB
hello-world latest feb5d9fea6a5 23 months ago 13.3kB
centos latest 5d0da3dc9764 23 months ago 231MB
[root@zyl-server ~]# docker tag 5d0da3dc9764 registry.cn-hangzhou.aliyuncs.com/zhaohaibao/centos:7.9
[root@zyl-server ~]# docker push registry.cn-hangzhou.aliyuncs.com/zhaohaibao/centos:7.9
The push refers to repository [registry.cn-hangzhou.aliyuncs.com/zhaohaibao/centos]
74ddd0ec08fa: Layer already exists
7.9: digest: sha256:a1801b843b1bfaf77c501e7a6d3f709401a1e0c83863037fa3aab063a7fdb9dc size: 529
[root@zyl-server ~]#
四、Docker私有仓库搭建(registry)
4.1、下载镜像
[root@zyl-server ~]# docker pull registry
Using default tag: latest
latest: Pulling from library/registry
79e9f2f55bf5: Pull complete
0d96da54f60b: Pull complete
5b27040df4a2: Pull complete
e2ead8259a04: Pull complete
3790aef225b9: Pull complete
Digest: sha256:169211e20e2f2d5d115674681eb79d21a217b296b43374b8e39f97fcf866b375
Status: Downloaded newer image for registry:latest
docker.io/library/registry:latest
[root@zyl-server ~]#
4.2、查看
[root@zyl-server ~]# docker images
4.3、运行 registry
docker run -d -p 5000:5000 -v /zyl/myregistry/:/tmp/registry --privileged=true registry
默认情况,仓库被创建在容器的/var/lib/registry目录下,建议自行用容器数据卷映射,方便宿主机联调[root@zyl-server ~]# docker run -d -p 5000:5000 -v /zyl/myregistry/:/tmp/registry --privileged=true registry
4c3babd80e86c8e2b21f4ad1dffeec5ca42270e5d467bed2a93839e323bcd5c6
[root@zyl-server ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4c3babd80e86 registry "/entrypoint.sh /etc…" 10 seconds ago Up 8 seconds 0.0.0.0:5000->5000/tcp, :::5000->5000/tcp amazing_rhodes
780530eaf656 centos "/bin/bash" About an hour ago Up About an hour wizardly_dhawan
95420eae9ad9 nginx "/docker-entrypoint.…" About an hour ago Up About an hour 80/tcp great_pasteur
[root@zyl-server ~]#
浏览器访问http://IP:5000/v2,显示“{}” 说明registry运行正常。
4.4、测试上传镜像到Registry
1、提交centos容器副本成为新的镜像,Tag----》1.2 。
[root@zyl-server ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4c3babd80e86 registry "/entrypoint.sh /etc…" 5 minutes ago Up 5 minutes 0.0.0.0:5000->5000/tcp, :::5000->5000/tcp amazing_rhodes
780530eaf656 centos "/bin/bash" About an hour ago Up About an hour wizardly_dhawan
95420eae9ad9 nginx "/docker-entrypoint.…" 2 hours ago Up 2 hours 80/tcp great_pasteur
[root@zyl-server ~]# docker commit -m="centos" -a="zyl" 780530eaf656 centos:1.2
sha256:d0a52e21dd65f98f7cd106d996e97e1b3e709431e4bb80cd2e3599953fa95fe6
[root@zyl-server ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos 1.2 d0a52e21dd65 20 seconds ago 231MB
nginx latest 605c77e624dd 19 months ago 141MB
registry latest b8604a3fe854 21 months ago 26.2MB
hello-world latest feb5d9fea6a5 23 months ago 13.3kB
centos latest 5d0da3dc9764 23 months ago 231MB
registry.cn-hangzhou.aliyuncs.com/zhaohaibao/centos 7.9 5d0da3dc9764 23 months ago 231MB
[root@zyl-server ~]#
2、查看当前私有仓库镜像(空)
[root@zyl-server ~]# curl -XGET http://192.168.234.10:5000/v2/_catalog
{"repositories":[]}
[root@zyl-server ~]#
3、将主机的registry镜像命名为符合仓库要求的格式。registry_url:port/ImageName:tag
docker tag centos:1.2 192.168.234.10:5000/centos:1.2
4、上传centos镜像到Registry仓库
docker push 192.168.234.10:5000/centos:1.2
push失败:
[root@zyl-server ~]# docker push 192.168.234.10:5000/centos:1.2
The push refers to repository [192.168.234.10:5000/centos]
Get "https://192.168.234.10:5000/v2/": http: server gave HTTP response to HTTPS client
[root@zyl-server ~]#
解决:
这是因为我们启动的registry服务不是安全可信赖的。这时需要修改客户端docker的配置文件vi /etc/docker/daemon.json,添加下面的内容(insecure-registries服务地址):{
""registry-mirrors": ["https://XXX.mirror.aliyuncs.com"],
"insecure-registries": ["192.168.234.10:5000"]
}"registry-mirrors": ["https://XXX.mirror.aliyuncs.com"] 是阿里云代理的Registry Hub仓库的地址,可以加快国内访问Registry Hub仓库的速度。修改好之后需要重启Docker服务才能生效,执行命令:systemctl restart docker ,再push即可.
5、再次推送
[root@zyl-server ~]# docker push 192.168.234.10:5000/centos:1.2
The push refers to repository [192.168.234.10:5000/centos]
Get "http://192.168.234.10:5000/v2/": dial tcp 192.168.234.10:5000: connect: connection refused
[root@zyl-server ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@zyl-server ~]#
报错:connect: connection refused
解决:docker ps 查看发现没有运行的镜像实例,重新运行 registry。
docker run -d -p 5000:5000 -v /zyl/myregistry/:/tmp/registry --privileged=true registry### pushdocker push 192.168.234.10:5000/centos:1.2
6、检查–查看当前私有仓库镜像
[root@zyl-server ~]# curl -XGET http://192.168.234.10:5000/v2/_catalog
{"repositories":["centos"]}
[root@zyl-server ~]#
至此,我们的Registry私有仓库搭建完成,如果在今后中要使用,可以使用命令:
docker pull 192.168.234.10:5000/centos:1.2
💖The End💖点点关注,收藏不迷路💖 |
相关文章:
Docker基础入门:镜像、容器导入导出与私有仓库搭建
Docker基础入门:镜像导入导出与私有仓库搭建 一、 Docker镜像、容器的导入和导出1.1、Docker镜像的导出1.2、Docker镜像的载入1.3、Docker容器的导出1.4、Docker容器的导入 二、 镜像和容器导出和导入的区别:三、commit操作_本地镜像发布到阿里云3.1、commit操作有关…...
Go语言入门指南:基础语法和常用特性解析(上)
一、Go语言前言 Go是一种静态类型的编译语言,常常被称作是21世纪的C语言。Go语言是一个开源项目,可以免费获取编译器、库、配套工具的源代码,也是高性能服务器和应用程序的热门选择。 Go语言可以运行在类UNIX系统——比如Linux、OpenBSD、M…...
排序算法合集
F B I W a r n i n g : \color{red}FBI \qquad Warning: FBIWarning: 本人没有完整的计算机科班的教育经历,但是一直在兢兢业业,努力学习。 这些排序函数都是自己零零散散写的,也没有经过深思熟虑和优化,纯粹是为了自娱自乐。 …...
Vue2-全局事件总线、消息的订阅与发布、TodoList的编辑功能、$nextTick、动画与过渡
🥔:高度自律即自由 更多Vue知识请点击——Vue.js VUE2-Day9 全局事件总线1、安装全局事件总线2、使用事件总线(1)接收数据(2)提供数据(3)组件销毁前最好解绑 3、TodoList中的孙传父&…...
DP读书:鲲鹏处理器 架构与编程(八)3.1鲲鹏处理器片上系统与Taishan处理器内核架构
鲲鹏处理器片上系统架构 一、鲲鹏处理器片上系统与Taishan处理器内核架构1. 鲲鹏处理器片上系统概况a. 鲲鹏处理器片上系统与鲲鹏芯片家族b. 鲲鹏920处理器片上系统的组成部件c. 鲲鹏920处理器片上系统的特征d. 鲲鹏920处理器片上系统的逻辑结构 2. Taishan V110 处理器内核微架…...
如何使用 HOOPS Exchange SDK 和 Polygonica Bridge
这里将讨论使用 HOOPS Exchange 和 Polygonica 以及它们之间的桥梁进行 CAD 访问和网格处理。--提供Crack HOOPS 全系列SDK HOOPS Exchange 基础知识 首先,让我们简单回顾一下 HOOPS Exchange。HOOPS Exchange 是一款具有 C 接口的数据访问 SDK,支持导入…...
spring异步框架使用教程
背景 在需求开发过程中,为了提升效率,很容易就会遇到需要使用多线程的场景。这个时候一般都会选择建一个线程池去专门用来进行某一类动作,这种任务到来的时候往往伴随着大量的线程被创建调用。而还有另外一种场景是整个任务的执行耗时比较长…...
【数学建模】清风数模正课3 插值算法
插值算法 在数模比赛中,很多类型的题目都需要根据已知的函数点进行数据分析和模型处理; 当此时题目所给的数据较少时,我们就无法进行准确科学的分析,所以需要更多的数据,也就是函数点; 这就需要使用数学…...
什么是eval()?eval是用来干什么的?
一、什么是eval()? eval() 是 JavaScript 中的一个全局函数,用于解析并执行传递给它的字符串作为 JavaScript 代码。 二、eval()是用来干什么的? 当调用 eval() 时,它会将传入的字符串参数视为 JavaScript 代码,并在调用位置执…...
JavaScript-console:JavaScript控制台(Console)常用方法
一、理解 console JavaScript 控制台(console)是一个开发人员在编写 JavaScript 代码时常用的工具。它是浏览器提供的一种界面,让开发人员能够追踪代码执行的状态和结果。JavaScript 控制台可以记录代码输出的信息、警告和错误,并…...
Nginx配置前后端分离
后端地址 1.本地环境 curl --request GET \--url http://localhost:8080/by-admin/captchaImage \--header Authorization: Bearer d7a035d9-b30c-4ca5-8951-8cec90607943确认后端 ip 端口 上下文 2.测试环境 部署到测试环境可能是 换成内网ip和内网服务端口(ip、端口 可能会…...
rabbitmq的发布确认
生产者将信道设置成 confirm 模式,一旦信道进入 confirm 模式, 所有在该信道上面发布的 消息都将会被指派一个唯一的 ID (从 1 开始),一旦消息被投递到所有匹配的队列之后,broker 就会发送一个确认给生产者(包含消息的唯一 ID)&…...
RISC-V公测平台发布· CoreMark测试报告
一. CoreMark简介 CoreMark是一款用于评估CPU性能的基准测试程序,它包含了多种不同的计算任务,包括浮点数、整数、缓存、内存等方面的测试。CoreMark的测试结果通常被用来作为CPU性能的参考,它可以帮助开发人员和系统管理员评估不同处理器和…...
模型微调(fine-tune)
一、关于模型微调的一些基础知识 1、模型微调(fine-tune) 微调(fine-tune)通过使用在大数据上得到的预训练好的模型来初始化自己的模型权重,从而提升精度。这就要求预训练模型质量要有保证。微调通常速度更快、精度更高。当然,自己…...
云农场种植:互联网+智慧牧场,为农业注入新的活力和创新
随着科技的不断发展,数字化农业正逐渐成为现代农业的趋势。传统农业面临着土地资源有限、劳动力不足等问题,而云农场种植模式通过数字化技术的运用,互联网养殖着重于“绿色、特色产品和智慧生态”,通过建立“线上养殖线下托养线上…...
Hadoop学习一(初识大数据)
目录 一 什么是大数据? 二 大数据特征 三 分布式计算 四 Hadoop是什么? 五 Hadoop发展及版本 六 为什么要使用Hadoop 七 Hadoop vs. RDBMS 八 Hadoop生态圈 九 Hadoop架构 一 什么是大数据? 大数据是指无法在一定时间内用常规软件工具对其内…...
linux定时备份MySQL数据库循环删除前30天的备份文件
linux定时备份MySQL数据库循环删除前30天的备份文件 一、 检查有没安装crond,如果没有,先安装 1、先检查一下有没有cron rpm -qa|grep cron如果输入上面命令有如下显示,则不需要安装 2、没有安装的话,就使用一下命令安装 yum -y install …...
不加电透明屏:在场景化应用中,有哪些特点和优点?
不加电透明屏是一种新型的显示技术,它可以在不需要电源的情况下显示图像和文字。 这种屏幕的原理是利用光的折射和反射来实现显示效果,而不需要通过电流来激发像素点。 不加电透明屏的最大优点是节能环保。传统的显示屏需要消耗大量的电能来显示图像&a…...
全球公链进展| Shibarium已上线;opBNB测试网PreContract硬分叉;Sui 主网 V1.7.1 版本
01 ETH 以太坊最新一次核心开发者执行会议:讨论 Devnet 8 更新、ElP-4788、Holesky 测试网等 以太坊核心开发者 Tim Beiko 总结最新一次以太坊核心开发者执行会议(ACDE),讨论内容包括 Devnet 8 更新、ElP-4788、Holesky 测试网、…...
CSS中的display属性有哪些值?它们的作用?
聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ CSS display 属性的不同取值和作用1. block2. inline3. inline-block4. none5. flex6. grid7. table、table-row、table-cell8. list-item9. inline-table、table-caption、table-column 等 ⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#x…...
ELKstack-日志收集案例
由于实验环境限制,将 filebeat 和 logstash 部署在 tomcat-server-nodeX,将 redis 和 写 ES 集群的 logstash 部署在 redis-server,将 HAproxy 和 Keepalived 部署在 tomcat-server-nodeX。将 Kibana 部署在 ES 集群主机。 环境:…...
基于GPT-4和LangChain构建云端定制化PDF知识库AI聊天机器人
参考: GitHub - mayooear/gpt4-pdf-chatbot-langchain: GPT4 & LangChain Chatbot for large PDF docs 1.摘要: 使用新的GPT-4 api为多个大型PDF文件构建chatGPT聊天机器人。 使用的技术栈包括LangChain, Pinecone, Typescript, Openai和Next.js…...
Python可视化工具分享
今天和大家分享几个实用的纯python构建可视化界面服务,比如日常写了脚本但是不希望给别人代码,可以利用这些包快速构建好看的界面作为服务提供他人使用。有关于库的最新更新时间和当前star数量。 streamlit (23.3k Updated 2 hours ago) Streamlit 可让…...
ethers.js:构建ERC-20代币交易的不同方法
在这篇文章中,我们将探讨如何使用ethers.js将ERC-20令牌从一个地址转移到另一个地址 Ethers是一个非常酷的JavaScript库,它能够发送EIP-1559事务,而无需手动指定气体属性。它将确定gasLimit,并默认使用1.5 Gwei的maxPriorityFeePerGas,从v5.6.0开始。 此外,如果您使用签名…...
[实践篇]13.23 QNX环境变量profile
一,profile简介 /etc/profile或/system/etc/profile是qnx侧的设置环境变量的文件,该文件适用于所有用户,它可以用作以下情形: 设置HOMENAME和SYSNAME环境变量设置PATH环境变量设置TMPDIR环境变量(/tmp)设置PCI以及IFS_BASE等环境变量等文件内容示例如下: /etc/profile…...
HDLBits-Verilog学习记录 | Getting Started
Getting Started problem: Build a circuit with no inputs and one output. That output should always drive 1 (or logic high). 答案不唯一,仅共参考: module top_module( output one );// Insert your code hereassign one 1;endmodule相关解释…...
flask模型部署教程
搭建python flask服务的步骤 1、安装相关的包 具体参考https://blog.csdn.net/weixin_42126327/article/details/127642279 1、安装conda环境和相关包 # 一、安装conda # 1、首先,前往Anaconda官网(https://www.anaconda.com/products/individual&am…...
一文详解4种聚类算法及可视化(Python)
在这篇文章中,基于20家公司的股票价格时间序列数据。根据股票价格之间的相关性,看一下对这些公司进行聚类的四种不同方式。 苹果(AAPL),亚马逊(AMZN),Facebook(META&…...
SpringBoot---内置Tomcat 配置和切换
😀前言 本篇博文是关于内置Tomcat 配置和切换,希望你能够喜欢 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动力&#x…...
Qt 显示git版本信息
项目场景: 项目需要在APP中显示当前的版本号,考虑到git共同开发,显示git版本,查找bug或恢复设置更为便捷。 使用需求: 显示的内容包括哪个分支编译的,版本号多少,编译时间,以及是否…...
有没有做代理商的明细网站/正规代运营公司
简介 yii2-redis 扩展为 Yii2 框架提供了 redis 键值存储支持。包括缓存(Cache)、会话存储处理(Session),并实现了 ActiveRecord 模式,允许您将活动记录存储在 redis 中。 相关链接 yii2-redis 扩展网址…...
顺德网站建设基本流程/免费的电脑优化软件
“专业人士笔记”系列目录:创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!zhuanlan.zhihu.com总体Python不仅作为一种流行的脚本语言,而且还支持面向对象的编程范例。class类描述了数据并提供了操作数据…...
口碑好的黄石网站建设/今日热搜新闻头条
从本质上讲:机器学习就是一个模型对外界的刺激(训练样本)做出反应,趋利避害(评价标准)。 1. 什么是逻辑回归? 许多人对线性回归都比较熟悉,但知道逻辑回归的人可能就要少的多。从大的…...
网站为什么没有排名了/新闻发稿渠道
1 创建、删除、显示数据库 -- 创建数据库 create database student_db character set utf8 collate utf8_general_ci; -- 删除数据库 drop database student_db; -- 显示所有数据库 show databases; -- 选择数据库 use student_db; 2 创建、删除、显示数据表 -- 创建表 create …...
网站logo优化/小程序推广50个方法
JLabel的使用: 类层次结构图: java.lang.Object--java.awt.Component--java.awt.Container--javax.swing.JComponent--javax.swing.JLabel 在以前的许多范例,我们已经使用过JLabel这个组件,相信大家对此组件应该不会感到陌生…...
网站做动态和静态哪个贵/外贸seo站
ASPNET Music Store application 是一个展示最新的.NET 平台(包括.NET Core/Mono等)上使用MVC 和Entity Framework的示例程序,本文将展示如何在CentOS上运行.NET Core版本的MusicStore,并通过Jexus对外发布。 上篇文章 《结合Jexu…...