Docker学习之镜像

Docker 运行容器前需要本地存在对应的镜像,如果本地不存在该镜像,Docker 会从镜像仓库下载该镜像。

获取镜像

# docker pull ubuntu:16.04

运行 # docker run -it ubuntu:16.04 bash

-i 交互式操作 -t 建立终端 bash 进入交互式shell

[email protected]:/# id
uid=0(root) gid=0(root) groups=0(root)

[email protected]:/# cat /etc/os-release 
NAME="Ubuntu"
VERSION="16.04.4 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.4 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"

镜像体积,image ls 列出来的大小是下载本地展开的大小,和docker hub不同。

查看镜像,容器,数据卷占用的实际空间

# docker system df



虚悬镜像

仓库名、标签均为 <none> 的镜像。这类无标签镜像也被称为 虚悬镜像(dangling image)

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

<none>             <none>             d92ac4d9c31e        24 hours ago        151MB

使用下面命令专门显示虚悬镜像

# docker image ls -f dangling=true

删除虚悬镜像

# docker image prune



中间层镜像

这些无标签镜像不应该删除,否则会导致上层镜像因为依赖丢失而出错。实际上,这些镜像也没必要删除,相同的层只会存一遍,而这些镜像是别的镜像的依赖。只要删除那些依赖它们的镜像后,这些依赖的中间层镜像也会被连带删除。

# docker image ls -a

列出部分镜像

docker image ls ubuntu      #根据仓库名列出

docker image ls ubuntu:16.04      #列出特定某个镜像,指定仓库名和标签

# docker image ls -f since=nginx     # -f --filter 过滤器参数 查看nginx之后建立的image

# docker image ls -f before=nginx    #查看nginx之前建立的image

以特定格式显示

docker image ls -q #只列出image ID

使用Go模板语法,筛选列

# docker image ls --format "{{.ID}}: {{.Repository}}"      #列出镜像ID和仓库名

fe0f24bc6366: friendhello

46c7cc28562c: nginx-fun

46ba956c5967: python

ae513a47849c: nginx

0b1edfbffd27: ubuntu

# docker image ls --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"      #表格等距显示,自定义显示列及位置;



删除本地镜像

# docker image ls

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

friendhello         latest              fe0f24bc6366        3 days ago          151MB

python              2.7-slim            46ba956c5967        8 days ago          140MB

nginx               latest              ae513a47849c        13 days ago         109MB

ubuntu              16.04               0b1edfbffd27        2 weeks ago         113MB

用ID 镜像名  摘要删除镜像

docker image rm ae5 #镜像ID前3个字符即可

docker image rm nginx #<仓库名>:<标签>

docker image rm [email protected]摘要

# docker image ls --digests #显示摘要

REPOSITORY          TAG                 DIGEST                                                                    IMAGE ID            CREATED             SIZE

nginx               latest              sha256:0fb320e2a1b1620b4905facb3447e3d84ad36da0b2c8aa8fe3a5a81d1187b884   ae513a47849c        13 days ago         109MB

# docker image rm [email protected]:0fb320e2a1b1620b4905facb3447e3d84ad36da0b2c8aa8fe3a5a81d1187b884

Untagged: [email protected]:0fb320e2a1b1620b4905facb3447e3d84ad36da0b2c8aa8fe3a5a81d1187b884

docker image ls配合删除镜像

# docker image rm $(docker image ls -q redis) #删除所有仓库名为redis的镜像

# docker image rm $(docker image ls -q -f before=nginx) #删除所有nginx之前的镜像

原文地址:http://blog.51cto.com/mofansheng/2116225

时间: 2024-08-01 08:21:50

Docker学习之镜像的相关文章

Docker学习笔记——镜像、容器、仓库

Docker三个基本概念 镜像(image) 容器(container) 仓库(Repository) 镜像(image) 搜索镜像 docker search nginx 获取镜像 docker pull nginx 指定Registry地址和具体的仓库名下载镜像,没有指定Registry地址,默认从Docker Hub上下载 docker pull jwilder/nginx-proxy 查看镜像 docker images  REPOSITORY          TAG         

Docker 学习之镜像导入导出及推送阿里云服务器(三)

在前面两节里主要就是记录一些docker的基本的操作,包括搜索镜像,拉取镜像,根据镜像创建容器等等,在这一节主要就是记录Docker对于镜像文件的导入导出,及推送到阿里云再从阿里云获取镜像. 一.镜像文件导入导出 1.1 查看当前已有的镜像文件 docker images 1.2 随意运行一个容器 docker run -d -p 8080:8080 --name tomcat tomcat 1.3 通过容器来的到一个新的镜像 # 根据正在运行的容器创建一个新的镜像docker commit t

docker学习-构建镜像

对于docker用户来说,最好的情况是不需要自己创建镜像,几乎所有的常用的数据库.中间件.应用软件等都有现成的docker官方镜像或其他人和组织创建的镜像,我们只需要稍微配置就可以直接使用.但是在某些情况下,也需要自己构建镜像.比如:1.找不到现成的镜像,比如自己开发应用程序2.需要在镜像中加入特定的功能.docker提供了两种构建镜像的方法:docker commit命令和Dockerfile构建文件. docker commit docker commit命令式创建镜像最直观的方法,其过程包

Docker学习04_镜像管理

运行容器时,使用的镜像如果在本地中不存在,docker 就会自动从 docker 镜像仓库中下载,默认是从 Docker Hub 公共镜像源下载. 可以在浏览器中访问 https://hub.docker.com/search?q=&type=image 来搜索和查看官方镜像仓库. 使用 docker images 列出本地镜像: 同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本,如果不指定一个镜像的版本标签,docker 将默认使用 最新版本即”仓库源名称:latest” 镜像. 执行

Docker学习之镜像操作

使用Docker镜像 以下都是Docker镜像的一系列重要名操作,包括获取.查看.搜索.删除.创建.存出或载入.上传等.可使用docker image help命令查看帮助. 1.获取镜像(pull) 使用pull子命令下载镜像 格式为: docker [image] pull NAME[:TAG],其中,NAME是镜像仓库名称,用以区分镜像, TAG是镜像的标签,往往用来表示版本信息,如果不显示指定TAG,则默认为latest标签,这会下载仓库中最新版本的镜像. 例如获取一个centos系统的

Docker学习(二)docker镜像操作

上一篇:docker学习(一)在centos7上安装docker 列出所有docker镜像 docker images 拉取镜像 docker pull 镜像名 我这里一Tomact为例 首先在Docker Hub上查找tomcat镜像 搜索tomcat选择收藏和拉取最多的那个,一般就是第一个,然后点击进去通过命令进行拉取 拉取镜像,默认tag: latest最新版本 等待下载完成后,我们就可以在本地镜像列表里查到REPOSITORY为tomcat的镜像. [[email protected]

DOCKER学习_011:使用Dockerfile制作docker镜像

前面使用commit的方式,制作一个docker镜像,本次介绍使用Dockerfile制作一个dockers镜像 [[email protected] ~]# mkdir /openssh [[email protected] ~]# cd /openssh [[email protected] openssh]# cp /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key /etc/ssh/ssh_host_rsa_key . [[

Docker学习5-Dockerfile编写自己的镜像

前言 Dockerfile 可以自定义编写镜像,简单来说就类似写脚本,shell脚本应该接触不少了,就是一个执行后就完成了. 当然做好的镜像也可以传到镜像仓库,就好像github上面一样存储,一个命令就能照搬下来安装. 一.简介 相信不少朋友会问,为何docker run 一下python就停止了呢?(那执行完了不停止干什么?) 还有为什么我的pip安装,每次安装完成了run下一个python容器就没有已安装的库了?显然run是每次都启动一个新的容器.所以不少网友提倡用Dockerfile制作.

Docker学习笔记之镜像管理命令

镜像: docker images -a  查看镜像列表 docker  images -q 只返回ID docker images inspect +镜像名称  查看镜像的详细信息 docker rmi [OPTIONS] IMAGE...  删除一个镜像 docker rmi $(docker images -q) 删除所有的镜像 dockerhub 镜像 docker search[OPTIONS] TERM --automated=false--no-trunc=false-s,--st