docker镜像复制与常见命令
一、前言
最近通过阿里的镜像仓库远程拉取镜像,发现以前的版本不见了,拉取了最新的镜像,有发现版本不配问题。那么想使用老版本的镜像那就要从别的环境获取。于是就需要进行离线镜像复制,打包,上传,重新导入的过程。本篇就做一个记录。
二、docker镜像
1、以获取apollo镜像为例
从线上镜像仓库获取
1.docker pull apolloconfig/apollo-configservice:1.9.1
2.docker pull apolloconfig/apollo-adminservice:1.9.1
3.docker pull apolloconfig/apollo-portal:1.9.1
这里的问题是 1.91版本的镜像不维护了,所以拉取不到。如果想获取最新就不用加版本号
1.docker pull apolloconfig/apollo-configservice
2.docker pull apolloconfig/apollo-adminservice
3.docker pull apolloconfig/apollo-portal
但是最新的版本和我之前的数据库不兼容
所以从其他服务器复制旧版本镜像
三、镜像制作
docker images 查看镜像
docker镜像复制命令
docker save -o apollo-adminservice.tar apolloconfig/apollo-adminservice
docker save -o apollo-configservice.tar apolloconfig/apollo-configservice
docker save -o apollo-portal.tar apolloconfig/apollo-portal
docker镜像导入命令
docker load -i apollo-adminservice.tar
docker load -i apollo-configservice.tar
docker load -i apollo-portal.tar
四、docker命令大全
docker相关命令总汇:
systemctl start docker 启动docker
systemctl stop docker 关闭docker
systemctl restart docker 重启docker
systemctl enable docker 设置docker开机自启
systemctl status docker 查看docker运行状态
sudo systemctl daemon-reload 重新加载配置文件
- 搜索镜像:docker search <镜像名>,例如:docker search ubuntu。
- 下载镜像:docker pull <镜像名>:<标签>,例如:docker pull ubuntu:latest。
- 列出本地镜像:docker images。
- 删除本地镜像:docker rmi <镜像ID>,例如:docker rmi ubuntu:latest。
- 删除所有镜像:docker rmi $(docker images -aq)
- 查看镜像详细::docker inspect <镜像名>,例如:docker inspect ubuntu:latest。
- 创建自定义镜像:通过编写Dockerfile文件并使用docker build命令构建镜像。
- 导出和导入镜像:docker save <镜像名>:<标签> > 文件名.tar和docker load < 文件名.tar。
- 上传镜像到仓库:docker push <镜像名>:<标签>,例如:docker push myrepo/ubuntu:latest。
- 从仓库拉取镜像:docker pull <仓库地址>/<镜像名>:<标签>,例如:docker pull myrepo/ubuntu:latest。
- 使用镜像创建容器:docker run -d -p <主机端口>:<容器端口> <镜像名>:<标签>,例如:docker run -d -p 8080:80 nginx:latest。
- 列出正在运行的容器:docker ps,加上-a选项可以查看所有容器,包括已经停止的容器。
- 创建并启动容器:docker run <选项> <镜像名>:<标签>,例如:docker run -d -p 8080:80 nginx:latest。
- 停止容器:docker stop <容器ID或容器名>,例如:docker stop my_container。
- 启动容器:docker start <容器ID或容器名>,例如:docker start my_container。
- 重启容器:docker restart <容器ID或容器名>,例如:docker restart my_container。
- 进入容器内部:docker exec -it <容器ID或容器名> <命令>,例如:docker exec -it my_container /bin/bash。
- 查看容器日志:docker logs <容器ID或容器名>,例如:docker logs my_container。
- 删除容器:docker rm <容器ID或容器名>,例如:docker rm my_container。
- 查看容器详细信息:docker inspect <容器ID或容器名>,例如:docker inspect my_container。
- 导出和导入容器:docker export <容器ID或容器名> > 文件名.tar和docker import < 文件名.tar。
- 从容器创建新镜像:docker commit <容器ID或容器名> <新镜像名>:<标签>,例如:docker commit my_container my_image:latest。
- docker-compose down:停止并删除Compose启动的容器
- 查看Docker网络列表:docker network ls。
- 创建自定义桥接网络:docker network create <网络名称>,例如:docker network create my_network。
- 查看指定网络的详细信息:docker network inspect <网络名称或网络ID>,例如:docker network inspect my_network。
- 将容器连接到网络:docker network connect <网络名称> <容器名称或容器ID>,例如:docker network connect my_network my_container。
- 从网络中断开容器:docker network disconnect <网络名称> <容器名称或容器ID>,例如:docker network disconnect my_network my_container。
- 删除网络:docker network rm <网络名称>,例如:docker network rm my_network。
- 查看容器网络连接信息:docker network inspect <容器名称或容器ID>,例如:docker network inspect my_container。
- 修改容器网络连接:docker network disconnect <网络名称> <容器名称或容器ID>和docker network connect <网络名称> <容器名称或容器ID>。
- 登录到Docker Hub或私有仓库:docker login,例如:docker login myregistry.example.com。
- 登出Docker Hub或私有仓库:docker logout,例如:docker logout myregistry.example.com。
- 查看镜像仓库中的镜像列表:docker search <镜像名称>,例如:docker search ubuntu。
- 拉取镜像到本地:docker pull <镜像名称>,例如:docker pull ubuntu。
- 推送本地镜像到仓库:docker push <镜像名称>,例如:docker push myregistry.example.com/my_image。
- 从仓库中删除镜像:docker rmi <镜像名称>,例如:docker rmi myregistry.example.com/my_image。
- 为本地镜像添加标签:docker tag <本地镜像名称> <新标签名称>,例如:docker tag my_image:latest my_image:v1.0。
- 查看镜像详细信息:docker image inspect <镜像名称>,例如:docker image inspect ubuntu。
- 查看镜像历史:docker history <镜像名称>,例如:docker history ubuntu。
- 登录到远程仓库:docker login -u 用户名 -p 密码 192.168.25.163:8084
- docker network ls:列出所有网络。
- docker network create <network_name>:创建一个新的网络。
- docker volume ls:列出所有数据卷。
- docker volume create <volume_name>:创建一个新的数据卷。
- docker-compose up:在Compose文件所在目录启动容器。
- docker-compose down:停止并删除Compose启动的容器。
- docker system prune:清理不再使用的资源,包括停止的容器、未使用的镜像、网络和数据卷。
- docker push: 这是Docker的一个子命令,用于将本地的Docker镜像推送到远程Docker仓库。
相关文章:

docker镜像复制与常见命令
一、前言 最近通过阿里的镜像仓库远程拉取镜像,发现以前的版本不见了,拉取了最新的镜像,有发现版本不配问题。那么想使用老版本的镜像那就要从别的环境获取。于是就需要进行离线镜像复制,打包,上传,重新导入…...

如何在linux环境上部署单机ES(以8.12.2版本为例)
ES安装(以8.12.2版本为例) 首先创建好对应的文件夹然后在对应的文件夹下执行依次这些命令 1.wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.12.2-linux-x86_64.tar.gz 2.wget https://artifacts.elastic.co/downloads/…...

如何利用人工智能技术实现企业营销效率提升10倍(下)
01. AI在私域运营中可扮演重要角色 私域用户体验历程中的不满,对企业来说,无疑是一记沉重的打击。这些不满不仅会让用户感到失望和沮丧,更会在无形中侵蚀企业的各个环节,给业务带来不可估量的损失。 在私域环境中,每…...

【PHP + 代码审计】数组函数
🍬 博主介绍👨🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~ ✨主攻领域:【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】 🎉点赞➕评论➕收…...

Keepalive与idle监测及性能优化
Keepalive 与 idle监测 Keepalive(保活): Keepalive 是一种机制,通常用于TCP/IP网络。它的目的是确保连接双方都知道对方仍然存在并且连接是活动的。这是通过定期发送控制消息(称为keepalive消息)实现的。如果在预定时…...

DS-红黑树(RBTree)
一.红黑树 1.1 红黑树的起源 当对对AVL树做一些结构修改的操作时候,性能较为低下,比如:插入时要维护其绝对平衡,旋转的次数比较多,更差的是在删除时,有可能一直要让旋转持续到根的位置。 因此1972年Rudolf…...

ubuntu 如何使用阿里云盘
你好,我是 shengjk1,多年大厂经验,努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注!你会有如下收益: 了解大厂经验拥有和大厂相匹配的技术等 希望看什么,评论或者私信告诉我! 文章目录 一…...

sqlite3 交叉编译
#1.下载源码并解压 源码路径如下,下载autoconf版本 SQLite Download Page 解压 tar -zxvf sqlite-autoconf-3450200.tar.gz cd sqlite-autoconf-3450200 mkdir build # 2. 配置源代码 # 假设你已经安装了交叉编译工具链,如gcc-arm-linux-gnueabih…...
【AI生成文章】flutter ChangeNotifierProvider 实用场景举例
内容由Ai 大模型生成,不能完全保障真实 ChangeNotifierProvider 是 Flutter 中一个非常实用的工具,用于在应用程序中管理和传递状态。以下是一些实用的场景举例: 1. 用户信息管理 在应用程序中,用户信息(如用户名、…...
【0274】从shared init file或local init file加载relation cache(2 - 1)
上一篇: 【0273】深入分析 relcache(relation descriptor cache)初始化第一阶段(1) 【0264】深入分析relcache(relation descriptor cache)缓存初始化第2阶段(2) 1. 前言 本文内容是作为《【0264】深入分析relcache(relation descriptor cache)缓存初始化第2阶段…...

蓝桥杯-02-2023蓝桥杯c/c++省赛B组题目
参考 2023 年第十四届蓝桥杯 C/C B组省赛题解 2023蓝桥杯c/c省赛B组题目(最全版): A:日期统计 这题方法应该很多,没有和别人讨论想法。我的解法思路是:先 load 函数生成所有这一年的合法日期,然后枚举所有可以从数据…...
欧拉筛+并查集
集合 - 洛谷 std::vector<int> minp, primes,primes1;void sieve(int n,int p) {minp.assign(n 1, 0);primes.clear();for (int i 2; i < n; i) {if (minp[i] 0) {minp[i] i;primes.push_back(i);}for (auto p : primes) {if (i * p > n) {break;}minp[i * p]…...
《桥接模式(极简c++)》
本文章属于专栏《设计模式(极简c版)》 继续上一篇《原型模式(极简c)》。本章简要说明桥接模式。本文分为模式说明、本质思想、实践建议、代码示例四个部分。 模式说明 方案: 将抽象部分与它的实现部分分离,…...

jconsole的使用
前提 已安装jdk 使用步骤 1、命令行输入jconsole...

JavaScript详细教程
文章目录 前言一、代码位置二、注释三、变量1.字符串类型2.数组3.对象(字典) 四、条件语句五、函数六、DOM模板 前言 JavaScript 是一种脚本编程语言,它可以在网页上实现复杂的功能,网页展现给你的不再是简单的静态信息࿰…...
Hive自定义GenericUDF函数
Hive自定义GenericUDF函数 当创建自定义函数时,推荐使用 GenericUDF 类而不是 UDF 类,因为 GenericUDF 提供了更灵活的功能和更好的性能。以下是使用 GenericUDF 类创建自定义函数的步骤: 编写Java函数逻辑:编写继承自 GenericUDF…...

伊理威科技:抖音开网店新手刚做选啥品
在数字浪潮中,抖音不仅是展示才艺的舞台,更是创业者的新天地。新手若想在这片热土上开垦网店,选品便是首要课题。选择产品如同种下希望的种子,既要考量土壤肥沃度,也得预测风雨适宜期。 兴趣与专长是选品的罗盘。热爱所…...

【爬虫】专栏文章索引
为了方便 快速定位 和 便于文章间的相互引用等 作为一个快速准确的导航工具 爬虫 目录: (一)web自动化和接口自动化 (二)实战-爬取Boss直聘信息数据...

【Linux】Linux开发工具-vim / 编译器-gcc/g++ / 调试器-gdb / git操作 / 项目自动化构建工具-make/Makefile
主页:醋溜马桶圈-CSDN博客 专栏:Linux_醋溜马桶圈的博客-CSDN博客 gitee:mnxcc (mnxcc) - Gitee.com 目录 1.在Linux写自己的第一个程序 1.1 nano指令 1.2 nano指令的使用 1.2.1 介绍 1.2.2 演示 1.2.2.1 创建.c文件 1.2.2.2 nano cod…...
解决VM重新打开后找不到共享文件夹的问题
我的问题是之前按照网上的文档设置了vm的共享文件夹,能成功使用,但是问题是下一次打开之后就找不到了,虚拟机设置里共享文件夹是启用的,文件夹也完成了映射网络驱动器,但是就是找不到共享文件夹 解决方法:…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动
一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)
🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...

让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...