目录

  • 1 镜像源查看及设置
  • 2 镜像相关操作
    • 2.1 获取镜像列表
    • 2.2 镜像下载
    • 2.3 查看本地的镜像
    • 2.4 从镜像创建容器
    • 2.5 将容器抽象为镜像——commit
    • 2.6 将容器抽象为镜像——Dockerfile
    • 2.7 将镜像保存为压缩包
    • 2.8 将压缩包加载为镜像
    • 2.9 镜像删除
  • 3 总结
  • 4 参考文献

1 镜像源查看及设置

  1. docker默认镜像源位于国外,下载速度较慢,建议修改配置文件daemon.json,若无则新建。
  2. 使用命令查看镜像源:cat /etc/docker/daemon.json,如果没有该文件或没有配置,则镜像源位于国外。
  3. 建议修改配置文件修改镜像源为国内,使用命令vim /etc/docker/daemon.json打开文件进行修改。
  4. 修改镜像源为中国区。
    {
    “registry-mirrors”:[“https://registry.docker-cn.com”]
    }
    或修改镜像源为网易云镜像,同理还有阿里源、清华源等。
    {
    “registry-mirrors”: [“http://hub-mirror.c.163.com”]
    }
  5. 完成后按ESC退出到命令模式,按键切换至末行模式,输入:wq保存退出。
  6. 使用命令systemctl restart docker.service重启Docker。
  7. 使用命令docker info查看docker配置信息,可以看到已经配置好了镜像源。

2 镜像相关操作

2.1 获取镜像列表

  1. 获取镜像列表,同时也可以对所获取镜像列表进行过滤,以方便查看信息。命令格式如下:
    docker search 镜像名
    docker search 镜像名 --filter stars=100
  2. 示例演示:此处以查询mysql镜像为例:docker search mysql。

2.2 镜像下载

  1. 从官方仓库下载镜像到本地docker,命令格式如下:

    • docker pull [OPTIONS] NAME[:TAG]
    • OPTIONS说明:
    • -a :拉取所有 tagged 镜像
    • -disable-content-trust :忽略镜像的校验,默认开启
    • NAME是镜像仓库名称(用来区分镜像)。
    • TAG是镜像的标签(往往用来表示版本信息)。
    • 通常情况下,描述一个镜像需要包括“名称+标签”信息。如果不显式指定TAG,则默认会选择latest标签,这会下载仓库中最新版本的镜像。
  2. 严格地讲,镜像的仓库名称中还应该添加仓库地址(即registry,注册服务器)作为前缀,只是默认使用的是官方Docker Hub服务,所以该前缀可以忽略。
    例如从网易蜂巢的镜像源来下载ubuntu:18.04镜像,可以使用如下命令。

    • hub.c.163.com/public/ubuntu:18.04 #下载的镜像名称
    • docker pull hub.c.163.com/public/ubuntu:18.04 #拉取语句为
  3. 本教程以从官网获取mysql为例,输入命令:docker pull mysql。该命令未指定tag则默认为latest,箭头所指为上述列表中的第一个。

2.3 查看本地的镜像

  1. 使用命令docker image ls列出本地镜像列表信息。可以看到刚刚下载的镜像文件及主要信息,如tag、文件大小等。
  2. 更多“docker image +参数”的使用方式可以输入命令docker image -help获取详细帮助。

2.4 从镜像创建容器

  1. 使用命令以下载好的镜像为模板创建容器。命令格式如下:
    docker run [OPTIONS] IMAGE [COMMAND] [ARG…],其中IMAGE为镜像名,主要参数解释如下,详细参数可以查看《菜鸟教程》的相关解释。

    • -i: 以交互模式运行容器,通常与 -t 同时使用;
    • -t::为容器重新分配一个伪输入终端,通常与 -i 同时使用;
    • -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
    • –name=“MySQL”: 为容器指定一个名称;
  2. 本节内容以上述mysql为例,使用命令创建容器:docker run -i -t docker.io/mysql /bin/bash,如下图箭头所指即为新创建的容器。
  3. 查看运行中的容器。在上一步的基础上,新打开一个终端窗口,输入命令:docker ps,查看电脑中运行的容器列表及主要信息。如果在命令后加上参数-a,则可以查看运行与暂停的所有容器列表。
  4. 在容器运行窗口,输入命令exit退出容器,同时在另一窗口再次使用docker ps查看容器列表信息。可以看到容器运行窗口命令行头部信息回到了主机,同时可以看到已经没有在运行的容器了。

2.5 将容器抽象为镜像——commit

  1. 当我们对从网上下载的镜像进行修改后,为方便以后重复使用,可以将该容器创建为新的镜像文件。使用命令格式如下:
  2. docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
    1. -a:提交的镜像作者;
    2. -c:使用Dockerfile指令来创建镜像;
    3. -m:提交时的说明文字;
    4. -p:在commit时,将容器暂停。
    5. [REPOSITORY[:TAG]]:是仓库名和tag信息。
  3. 例子:将上述运行中的容器提炼创建为镜像,可以根据命令行头部的信息或者查询运行容器信息,来得知容器的ID为403d957784e3。使用命令docker commit -m 'my mysql test' -a 'Fighting_hawk' 403d957784e3 my/registry:V2创建镜像,并指定仓库名和版本信息。
  4. 查询本地镜像列表,可以看到新建的镜像就在其中。

2.6 将容器抽象为镜像——Dockerfile

该方法比commit方法要复杂得多,但是有利于团队之间共享。以后有时间再学~~

2.7 将镜像保存为压缩包

为方便将镜像文件发送该他人进行安装,需要将镜像存为压缩包的格式,使用命令格式如下:docker save -o 压缩包名+后缀 镜像仓库名及版本号

2.8 将压缩包加载为镜像

使用命令将压缩包加载为镜像:docker load --input 压缩包名+后缀

2.9 镜像删除

当本地镜像列表中有的镜像已不再需要时,需要通过命令将其删除,如:docker fmi -f 镜像ID

3 总结

  1. 了解镜像源的设置;
  2. 掌握镜像查询与下载的方法;
  3. 理解镜像与容器之间的关系、掌握镜像与容器互转的方法;
  4. 掌握镜像与压缩包互转的方法。

4 参考文献

  1. 《查看与修改docker镜像源命令 cat | vim /etc/docker/daemon.json》
  2. 《使用pull命令从Docker Hub仓库中下载镜像到本地》

【环境搭建】Docker镜像相关操作(切换镜像源、查询、获取、查看、创建、上传、保存、删除等)相关推荐

  1. 阿里云轻量应用服务器环境搭建-Docker删除镜像

    阿里云轻量应用服务器环境搭建-Docker删除镜像 首先关闭容器 查看正在运行的容器 docker ps -a 停止容器运行 docker stop 6bf328b614c # 6bf328b614c ...

  2. bWAPP靶场漏洞环境搭建Docker版

    bWAPP靶场漏洞环境搭建Docker版 项目地址 官方网站:http://www.itsecgames.com/ 文件下载:https://sourceforge.net/projects/bwap ...

  3. 阿里云轻量应用服务器环境搭建-Docker安装tomcat

    阿里云轻量应用服务器环境搭建-Docker安装tomcat 参考链接:https://www.runoob.com/docker/docker-install-tomcat.html 拉取官方的镜像: ...

  4. week7 day3 记录相关操作之单表查询

    week7 day3 记录相关操作之单表查询 1.1 单表查询的用法 1.2 关键字的执行优先级(重点) 1.3 简单查询 1.4 WHERE约束 1.5 分组查询GROUP BY 1.6 HAVIN ...

  5. 虚拟机搭建ftp服务 匿名用户不能上传、删除、修改,这个问题解决了2个钟头 脑壳疼

    我们在本地访问的时候,无论是修改,删除还是上传都会报类似如下错误, 350 Ready for RNTO 550 ** falied 在另一台虚拟机命令行访问ftp服务器可以看到除了从ftp服务器下载 ...

  6. Hadoop环境搭建--Docker完全分布式部署Hadoop环境(菜鸟采坑吐血整理)

    系统:Centos 7,内核版本3.10 本文介绍如何从0利用Docker搭建Hadoop环境,制作的镜像文件已经分享,也可以直接使用制作好的镜像文件. 一.宿主机准备工作 0.宿主机(Centos7 ...

  7. 内网环境搭建docker具体步骤

    1 下载docker静态二进制存档 要根据硬件平台下载以免造成不兼容 https://download.docker.com/ https://download.docker.com/linux/st ...

  8. 镜像相关:端口镜像、流量镜像

    镜像简介 镜像是指将经过指定端口(源端口或者镜像端口)的报文复制一份到另一个指定端口(目的端口或者观察端口). 目的: 在网络运营与维护的过程中,为了便于业务监测和故障定位,网络管理员时常要获取设备上 ...

  9. windows下Appium测试环境搭建, 并配合python操作模拟器

    环境搭建 安装JDK 1. Java Downloads | Oracle 下载JDK安装包,按照默认方式无脑按照即可 2. 设置系统环境变量,系统环境变量添加JAVA_HOME, 路劲是jdk安装路 ...

最新文章

  1. CentOS 7升级gcc 8.3.1 7.x.x 4.9.4版本
  2. 集群搭建:CentOS 7 模板机封装、配置静态 IP、简单优化
  3. Spring dataSource配置
  4. 计算机科普小知识——U盘格式化
  5. Android官方开发文档Training系列课程中文版:手势处理之监测通用手势
  6. ORA-19504,乌龙处理
  7. 【渝粤教育】国家开放大学2018年秋季 1141t工程经济与管理 参考试题
  8. mysql配置文件 my.ini
  9. 图书租借管理系统java_阅览室图书租借管理系统下载
  10. HAL库控制PS2手柄
  11. 关于PBOC3.0发卡行认证的问题
  12. 笔记本电脑耳机插入后声音还是外放的解决办法
  13. java 微博sdk_使用微博SDK工具weibo4j进行java微博自动回复
  14. Tensorflow + 基于CNN神经网络的面部表情识别
  15. 一些浏览器播放视频的时候进度条有动,画面是空白的
  16. 简易PC基准测试丨PerformanceTest功能简介
  17. ps快捷键对应的英文字母缩写
  18. dijkstra算法及其堆优化
  19. python——温度换算(以字母结尾)
  20. zTree 一个依靠 jQuery 实现的多功能 “树插件”

热门文章

  1. 如何用c语言给信息加密,求助:如何用C语言实现LFSR加密
  2. 国家认证的Python技术工程师有什么能力要求?
  3. Selenium Chrome设置代理之后验证依旧是本机ip原因
  4. MYSQL相比于其他数据库有哪些特点?
  5. 港科夜闻丨香港科大陈启峰教授入选中国区“35岁以下科技创新35人”
  6. javaScript用函数的方式实现闰年的判断:输入一个年份,判断是否是闰年(分析+代码)
  7. 学tlc和JAVA,#Java学习之路——第一部分总结
  8. 室内陈设设计有必要吗,室内陈设设计要注意什么
  9. c语言 字符金字塔问题
  10. 在x86和arm混合部署架构下排查TiKV节点内存占用极高的问题