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

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 重新加载配置文件

镜像相关:

  1. 搜索镜像:docker search <镜像名>,例如:docker search ubuntu。
  2. 下载镜像:docker pull <镜像名>:<标签>,例如:docker pull ubuntu:latest。
  3. 列出本地镜像:docker images。
  4. 删除本地镜像:docker rmi <镜像ID>,例如:docker rmi ubuntu:latest。
  5. 删除所有镜像:docker rmi $(docker images -aq)
  6. 查看镜像详细::docker inspect <镜像名>,例如:docker inspect ubuntu:latest。
  7. 创建自定义镜像:通过编写Dockerfile文件并使用docker build命令构建镜像。
  8. 导出和导入镜像:docker save <镜像名>:<标签> > 文件名.tar和docker load < 文件名.tar。
  9. 上传镜像到仓库:docker push <镜像名>:<标签>,例如:docker push myrepo/ubuntu:latest。
  10. 从仓库拉取镜像:docker pull <仓库地址>/<镜像名>:<标签>,例如:docker pull myrepo/ubuntu:latest。
  11. 使用镜像创建容器:docker run -d -p <主机端口>:<容器端口> <镜像名>:<标签>,例如:docker run -d -p 8080:80 nginx:latest。

容器相关:

  1. 列出正在运行的容器:docker ps,加上-a选项可以查看所有容器,包括已经停止的容器。
  2. 创建并启动容器:docker run <选项> <镜像名>:<标签>,例如:docker run -d -p 8080:80 nginx:latest。
  3. 停止容器:docker stop <容器ID或容器名>,例如:docker stop my_container。
  4. 启动容器:docker start <容器ID或容器名>,例如:docker start my_container。
  5. 重启容器:docker restart <容器ID或容器名>,例如:docker restart my_container。
  6. 进入容器内部:docker exec -it <容器ID或容器名> <命令>,例如:docker exec -it my_container /bin/bash。
  7. 查看容器日志:docker logs <容器ID或容器名>,例如:docker logs my_container。
  8. 删除容器:docker rm <容器ID或容器名>,例如:docker rm my_container。
  9. 查看容器详细信息:docker inspect <容器ID或容器名>,例如:docker inspect my_container。
  10. 导出和导入容器:docker export <容器ID或容器名> > 文件名.tar和docker import < 文件名.tar。
  11. 从容器创建新镜像:docker commit <容器ID或容器名> <新镜像名>:<标签>,例如:docker commit my_container my_image:latest。
  12. docker-compose down:停止并删除Compose启动的容器

网络相关:

以下是Docker中与网络相关的常用命令:

  1. 查看Docker网络列表:docker network ls。
  2. 创建自定义桥接网络:docker network create <网络名称>,例如:docker network create my_network。
  3. 查看指定网络的详细信息:docker network inspect <网络名称或网络ID>,例如:docker network inspect my_network。
  4. 将容器连接到网络:docker network connect <网络名称> <容器名称或容器ID>,例如:docker network connect my_network my_container。
  5. 从网络中断开容器:docker network disconnect <网络名称> <容器名称或容器ID>,例如:docker network disconnect my_network my_container。
  6. 删除网络:docker network rm <网络名称>,例如:docker network rm my_network。
  7. 查看容器网络连接信息:docker network inspect <容器名称或容器ID>,例如:docker network inspect my_container。
  8. 修改容器网络连接:docker network disconnect <网络名称> <容器名称或容器ID>和docker network connect <网络名称> <容器名称或容器ID>。

仓库相关:

  1. 登录到Docker Hub或私有仓库:docker login,例如:docker login myregistry.example.com。
  2. 登出Docker Hub或私有仓库:docker logout,例如:docker logout myregistry.example.com。
  3. 查看镜像仓库中的镜像列表:docker search <镜像名称>,例如:docker search ubuntu。
  4. 拉取镜像到本地:docker pull <镜像名称>,例如:docker pull ubuntu。
  5. 推送本地镜像到仓库:docker push <镜像名称>,例如:docker push myregistry.example.com/my_image。
  6. 从仓库中删除镜像:docker rmi <镜像名称>,例如:docker rmi myregistry.example.com/my_image。
  7. 为本地镜像添加标签:docker tag <本地镜像名称> <新标签名称>,例如:docker tag my_image:latest my_image:v1.0。
  8. 查看镜像详细信息:docker image inspect <镜像名称>,例如:docker image inspect ubuntu。
  9. 查看镜像历史:docker history <镜像名称>,例如:docker history ubuntu。
  10. 登录到远程仓库:docker login -u 用户名 -p 密码 192.168.25.163:8084

  1. docker network ls:列出所有网络。
  2. docker network create <network_name>:创建一个新的网络。
  3. docker volume ls:列出所有数据卷。
  4. docker volume create <volume_name>:创建一个新的数据卷。
  5. docker-compose up:在Compose文件所在目录启动容器。
  6. docker-compose down:停止并删除Compose启动的容器。
  7. docker system prune:清理不再使用的资源,包括停止的容器、未使用的镜像、网络和数据卷。
  8. docker push: 这是Docker的一个子命令,用于将本地的Docker镜像推送到远程Docker仓库。

相关文章:

  • 【图解物联网】第2章 物联网的架构
  • 【蓝桥杯嵌入式】四、各种外设驱动(十一)ADC(1):软件触发与中断触发方式
  • ubuntu生成 设置 core文件
  • 基于OpenCV的图像处理案例之图像矫正(Python)
  • 每日OJ题_牛客_QQ2 微信红包
  • 33.网络游戏逆向分析与漏洞攻防-游戏网络通信数据解析-游戏登录数据包分析利用
  • python的OA公文发文管理系统flask-django-php-nodejs
  • 【Node.js从基础到高级运用】十五、单元测试与集成测试
  • SQL:窗口函数之OVER()
  • Redis 的BGSAVE和BGREWRITEAOF操作
  • Vue模块化开发步骤—遇到的问题—解决办法
  • mac 同步安卓手机屏幕
  • 【3DsMax】展UV记录
  • 【每日一问】IOS手机上Charles证书过期怎么办?
  • 【python】python3基础
  • #Java异常处理
  • isset在php5.6-和php7.0+的一些差异
  • maya建模与骨骼动画快速实现人工鱼
  • Sass 快速入门教程
  • Service Worker
  • Spring Boot快速入门(一):Hello Spring Boot
  • Vue--数据传输
  • 阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1
  • 初识MongoDB分片
  • 从0搭建SpringBoot的HelloWorld -- Java版本
  • 从0到1:PostCSS 插件开发最佳实践
  • 代理模式
  • 函数式编程与面向对象编程[4]:Scala的类型关联Type Alias
  • 简单数学运算程序(不定期更新)
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 前端自动化解决方案
  • 如何在GitHub上创建个人博客
  • 微信小程序--------语音识别(前端自己也能玩)
  • 我感觉这是史上最牛的防sql注入方法类
  • 用mpvue开发微信小程序
  • 怎么将电脑中的声音录制成WAV格式
  • ​LeetCode解法汇总518. 零钱兑换 II
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (附源码)计算机毕业设计高校学生选课系统
  • (三)模仿学习-Action数据的模仿
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • (转)http-server应用
  • (转)http协议
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • (转)可以带来幸福的一本书
  • (转载)利用webkit抓取动态网页和链接
  • .a文件和.so文件
  • .chm格式文件如何阅读
  • .net framework profiles /.net framework 配置