docker镜像管理命令详解

目录
  • 一、国内Docker镜像仓库
  • 三、搜索镜像
  • 四、拉取镜像
  • 五、列出镜像
  • 六、虚悬镜像
  • 七、删除本地镜像
  • 八、镜像的导入导出
    • 导入方式一(不输出详细信息):
    • 导入方式二(输出详细信息):

一、国内Docker镜像仓库

由于大家都知道的原因,从国外的docker 仓库中pull镜像的下载速度实际上是很慢的。国内的一些一线厂商以及docker官方都在国内免费提供了一些docker镜像仓库,使用国内的镜像仓库下载速度会有很大的提升。例如:

  • Docker 官方提供的中国 registry mirror
  • 阿里云加速器
  • DaoCloud 加速器

我们以Docker官方提供的中国 registry mirror为例,来讲解国内镜像仓库源的配置方式。将 /etc/docker/daemon.json 文件内容修改为如下内容,如果该文件不存在就新建一个

{
"registry-mirrors":["https://registry.docker-cn.com"]
}

配置完成之后,重启docker服务

sudo systemctl restart docker

再去下载pull镜像,会发现比以前快了很多。就这么简单!

三、搜索镜像

Docker Hub 上有很多的官方镜像以及第三方上传的高质量镜像,下面就为大家介绍如何搜索并获取这些镜像。

  • 第一种方式就是在Dcoker hub上直接搜索镜像,比如我搜索redis镜像,下方出现绿色盾牌标志的就是redis官方提供的镜像,安全性稳定性都是有保证的。

  • 第二种方式可以使用 docker search 来搜索镜像,

我们也可以使用 命令来搜索镜像。比如我们需要一个tomcat的镜像来作为我们的web服务。我们可以通过 docker search 命令搜索tomcat来寻找适合我们的镜像。

docker search redis

OFFICIAL字段值为OK的那一条记录为官方的镜像。

四、拉取镜像

从 Docker 镜像仓库获取镜像的命令是 docker pull其命令格式为:

docker pull [选项] [Docker Registey 地址[:端口号]/] 镜像名[:标签]

具体的选项可以通过 docker pull --help 命令看到,这里我们说一下镜像名称的格式。

<域名/IP>[:端口号]
<用户名>/<软件名>

示例:通过 docker pull获取redis最新版本的镜像

docker pull redis:latest

等同于

docker pull redis

五、列出镜像

要想列出已经下载下来的镜像,可以使用 docker image ls 命令。

docker images   //等同于docker image ls

  • REPOSITORY:仓库及镜像名称
  • TAG:标签及版本号
  • IMAGE ID:镜像ID,镜像的唯一标识
  • CREATED:该镜像的构建时间
  • SIZE: 该镜像文件的大小

六、虚悬镜像

在镜像列表中,可能会存在一种特殊的镜像,该镜像既没有仓库名/镜像名称,也没有标签/版本号,这两个位置均显示 <none> ,这种镜像通常被称为 虚悬镜像 ,如下入所示。

虚悬镜像产生的原因是什么?

其实虚悬镜像最开始pull下载的时候是有镜像名称和标签版本号名称的,比如redis官方发布了一个docker镜像6.0版本,过了一段时间发现6.0版本的镜像有可能存在安全问题,所以重新构建了一个6.0版本的镜像。

镜像名称redis和6.0的TAG都被新发布的镜像占用了,旧版本的镜像就丢失了镜像名称和标签,变成了虚悬镜像。

一般来说,虚悬镜像已经失去了存在的价值,是可以随意删除的,使用下面的命令删除:

docker image prune

七、删除本地镜像

下面的两种语法都可以完成镜像删除的操作:

docker rmi [选项] <镜像1> [<镜像2>.....]
docker image rm <镜像1>  [<镜像2>.....]

上文语法中可以使用 镜像ID、镜像名作为镜像的唯一标识用来删除镜像。常用的[选项]是 -f 表示强制删除,有的时候同一个镜像上传到多个仓库,此时镜像ID就不再是唯一标识,需要使用 -f 强制删除才能删除镜像(具有同一个镜像ID的所有本地镜像全部删除)。

需要注意的是:删除镜像之前必须确认被删除的镜像,没有被任何容器使用,否则无法删除。

如下所示,删除hello-world镜像的响应结果。

# docker rmi hello-world
Untagged: hello-world:latest
Untagged: hello-world@sha256:bfea6278a0a267fad2634554f4f0c6f31981eea41c553fdf5a83e95a41d40c38
Deleted: sha256:feb5d9fea6a5e9606aa995e879d862b825965ba48de054caab5ef356dc6b3412
Deleted: sha256:e07ee1baac5fae6a26f30cabfe54a36d3402f96afda318fe0a96cec4ca393359

八、镜像的导入导出

用 save 子命令将本地仓库的镜像保存为当前目录下的tar文件。

docker save -o <自定义包名>.tar <镜像名称>

如下面的命令将 hello-world镜像导出为一个helloworld.tar存放在当前目录

docker save -o helloworld.tar hello-world

我们可以在另一台服务器上,将hello-world镜像导入,导入方法如下:

导入方式一(不输出详细信息):

# docker load -i helloworld.tar

导入方式二(输出详细信息):

# docker load < helloworld.tar

镜像导出导入功能可以用于镜像备份,在没有镜像仓库的公司中也可以使用这种tar包的方式传递镜像文件。

到此这篇关于docker镜像管理命令的文章就介绍到这了,更多相关docker镜像管理内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Docker中镜像构建文件Dockerfile与相关命令的详细介绍

    前言 使用docker build命令或使用Docker Hub的自动构建功能构建Docker镜像时,都需要一个Dockerfile文件.Dockerfile文件是一个由一系列构建指令组成的文本文件,docker build命令会根据这些构建指令完成Docker镜像的构建.本文将会介绍Dockerfile文件,及其中使用的构建指令. 1. Dockerfile文件使用 docker build命令会根据Dockerfile文件及上下文构建新Docker镜像.构建上下文是指Dockerfile所在

  • Docker私有仓库管理和删除本地仓库中的镜像

    一:Docker私有仓库安装 1. 下载镜像是有镜像仓库: [root@localhost ~]# systemctl start docker #如果已经有镜像了,强制删除原来的镜像的方式如下: [root@xxx-pub /]# docker rmi -f docker.io/registry Untagged: docker.io/registry:latest Untagged: docker.io/registry@sha256:51bb55f23ef7e25ac9b8313b139a

  • docker镜像的拉取登陆上传及保存等相关使用命令

    目录 docker 中的三大基本概念 镜像 容器 仓库 docker 镜像相关命令 常用镜像仓库 搜索镜像 拉取镜像 查看当前系统上的有哪些镜像 获取镜像的详细信息 登录镜像仓库 为镜像标签 镜像上传 镜像的删除 清空镜像 查看镜像历史(镜像的构建历史) 保存镜像(commit) 保存镜像(import/export) 保存镜像(save/load) 保存镜像三种方式的区别 docker 中的三大基本概念 镜像 镜像就是启动一个容器的模板. 容器 容器就是对外提供服务的进程.或者容器就是镜像启动

  • Docker镜像管理常用操作代码示例

    镜像也是docker的核心组件之一,镜像时容器运行的基础,容器是镜像运行后的形态.总体来说,镜像是一个包含程序运行必要以来环境和代码的只读文件,它采用分层的文件系统,将每一层的改变以读写层的形式增加到原来的只读文件上. 镜像与容器的关系 前文已经向读者介绍过容器的使用了,细心的读者可能已经发现,容器在启动或者创建时,必须指定一个镜像的名称或者id,其实,这时镜像所扮演的角色就是容器的模版,不同的镜像可以构造出不同的容器.如下命令: docker run -itd --name nginx ngi

  • Docker常用的清除容器镜像命令小结

    前言 Docker 是一个非常有趣的项目.它自己宣称可以减轻部署服务器的难度,当然我相信里面有炒作的成分.但是实际使用后,我觉得 Docker 的表现还是可圈可点的.这篇文章主要总结了Docker清除容器镜像常用的命令,下面来一起看看吧. 杀死所有running状态的容器 docker kill $(docker ps -q) 删除所有已经停止的容器 docker rm $(docker ps -a -q) 删除所有\'untagged/dangling\' ()状态的镜像 docker rmi

  • 详解Docker学习之用commit命令创建镜像

    构建镜像的两种方法: 使用docker commit 命令 使用docker build命令和Dockerfile文件 Dockerfile更抢到.灵活,推荐使用. 一般来说不是真的"创建"新镜像,而是基于一个已有的基础镜像,比如Ubuntu.Fedora等,构建新的镜像而已. 用commit创建镜像 创建Docker账号 共享和发布镜像时构建镜像中重要的环节,可以将镜像推送到Docker Hub或资金的私有Registry中.首先到https://hub.docker.com/acc

  • docker镜像管理命令详解

    目录 一.国内Docker镜像仓库 三.搜索镜像 四.拉取镜像 五.列出镜像 六.虚悬镜像 七.删除本地镜像 八.镜像的导入导出 导入方式一(不输出详细信息): 导入方式二(输出详细信息): 一.国内Docker镜像仓库 由于大家都知道的原因,从国外的docker 仓库中pull镜像的下载速度实际上是很慢的.国内的一些一线厂商以及docker官方都在国内免费提供了一些docker镜像仓库,使用国内的镜像仓库下载速度会有很大的提升.例如: Docker 官方提供的中国 registry mirro

  • Linux下sshd服务及服务管理命令详解

    sshd SSH为Secure Shell的缩写,是应用层的安全协议.SSH是目前较可靠,专为远程登陆会话和其他网络服务提供安全性的协议.利用SSH协议可以有效防止远程管理过程中的信息泄露问题. openssh-server 功能:让远程主机可以通过网络访问sshd服务,开始一个安全shell 客户端连接方式 ssh 远程主机用户@远程主机ip 先rm -rf /root/.ssh/清掉之前的配置 ssh 远程主机用户@远程主机ip -X 调用远程主机图形工具 ssh 远程主机用户@远程主机ip

  • linux中权限管理命令详解(chmod/chown/chgrp/unmask)

    Linux操作系统对多用户的管理,是非常繁琐的,所以用组的概念来管理用户就变得简单,每个用户可以在一个独立的组,每个组也可以有零个用户或者多个用户.本文给大家介绍linux中权限管理命令详解(chmod/chown/chgrp/unmask),具体内容如下: chmod 解释 命令名称:chmod 命令英文原意:change the permissions mode of a file 命令所在路径:/bin/chmod 执行权限:所有用户功能描述:改变文件或目录权限 语法 chmod [{ug

  • 第一次构建、运行、发布、获取docker镜像的步骤详解

    1.前言 过去,如果您要开始编写Python应用程序,第一步就是把Python的运行环境安装到您的机器上,而且安装的环境还要和线上的一致,比较麻烦. 使用Docker,您可以从docker的官方registry或者其他仓库,获取一个可移植的Python运行环境镜像,无需安装.然后,你可以基于这个镜像开发你的应用程序,这样可以确保您的应用程序,依赖项和运行时都一起运行. 2.构建一个python镜像 2.1.为了构建您自己的镜像,首先需要创建一个名称为Dockerfile的文件,用于定义创建镜像并

  • Docker Compose常用命令详解

    1.Docker compose的使用非常类似于docker命令的使用,但是需要注意的是大部分的compose命令都需要到docker-compose.yml文件所在的目录下才能执行. 2.compose以守护进程模式运行加-d选项 $ docker-compose up -d 3.查看有哪些服务,使用docker-compose ps命令,非常类似于 docker 的ps命令 4.查看compose日志 $ docker-compose logs web $ docker-compose lo

  • Spring Boot 2.4 新特性之一键构建Docker镜像的过程详解

    背景 在我们开发过程中为了支持 Docker 容器化,一般使用 Maven 编译打包然后生成镜像,能够大大提供上线效率,同时能够快速动态扩容,快速回滚,着实很方便.docker-maven-plugin 插件就是为了帮助我们在 Maven 工程中,通过简单的配置,自动生成镜像并推送到仓库中. spotify .fabric8 这里主要使用的主要是如下两种插件 spotify .fabric8 , - -配置通过 xml 定义出 Dockerfile 或者挂载外部 Dockerfile 通过调用

  • Docker仓库常用命令详解

    登录 docker login 通过执行docker login命令来输入用户名.密码和邮箱来完成注册和登录.注册成功后,本地用户目录的.dockercfg中将保存着用户认证的信息. 从仓库拉取镜像 docker pull [镜像名] 搜索镜像 docker search [想要搜索的镜像名] 例如: C:\Users\kunta>docker search centos NAME DESCRIPTION STARS OFFICIAL AUTOMATED centos The official

  • Docker 最常用的镜像命令和容器命令详解

    本文列出了 Docker 使用过程中最常用的镜像命令和容器命令,以及教大家如何操作容器数据卷,实现容器数据的备份.熟练练习这些命令以后,再来一些简单的应用部署练习,大家就可以学习 Docker 的镜像构建.备份恢复迁移.镜像仓库.网络.集群等等更多的内容. 镜像相关命令 官方文档:https://docs.docker.com/reference/ 查看镜像 [root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZ

  • Docker 打包python的命令详解

    最近用Python写了一段爬虫程序,为了隔离其运行环境,易于分发,把项目打包成Docker镜像 Dockerfile FROM python:2.7.12-alpine ADD ./src /job CMD ["python", "/job/main.py"] 构建命令 $ docker build -t job . 运行 $ docker run -d --name job job 比较简单 以上所述是小编给大家介绍的Docker 打包python的命令详解,希望

  • Docker基础命令详解

    docker基本概念 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上. Docker是一个重新定义了程序开发测试.交付和部署过程的开放平台,Docker则可以称为构建一次,到处运行,这就是docker提出的"Build once,Run anywhere" 创建镜像 创建镜像的方法有三种: 基于已有的容器创建 基于本地模板导入 基于dockerfile 基于已有的容器创建 主要使用docker

随机推荐