常用Docker镜像操作命令

简介: 一、docker images 列出本地主机上的镜像[root@iz2ze0lvzs71710m0jegmsz docker]# docker imagesREPOSITORY TAG IMAGE ID CREATED ...

一、docker images 列出本地主机上的镜像

[root@iz2ze0lvzs71710m0jegmsz docker]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              fce289e99eb9        9 months ago        1.84kB

REPOSITORY----表示镜像的仓库源
TAG----表示镜像的标签
IMAGE ID----镜像ID
CREATED----镜像创建时间
SIZE----镜像大小

同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。
如果你不指定一个镜像的版本标签,例如你只使用 ubuntu,docker 将默认使用 ubuntu:latest 镜像

语法及常用参数:

Usage:    docker images [OPTIONS] [REPOSITORY[:TAG]]
        Options:
          -a: 列出本地所有的镜像
          -q:只显示镜像ID
          --digests:显示镜像的摘要信息
          --no-trunc:显示完整的镜像信息
               REPOSITORY就是镜像的ID
        TAG就是标签(不写的话默认是last)

image

二、docker search 去docker hub仓库搜索某个镜像的名字

[root@iz2ze0lvzs71710m0jegmsz ~]# docker search jenkins
NAME                                   DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
jenkins                                Official Jenkins Docker image                   4489                [OK]
jenkins/jenkins                        The leading open source automation server       1742
jenkinsci/blueocean                    https://jenkins.io/projects/blueocean           449
jenkinsci/jenkins                      Jenkins Continuous Integration and Delivery …   373
jenkinsci/jnlp-slave                   A Jenkins slave using JNLP to establish conn…   114                                     [OK]
jenkins/jnlp-slave                     a Jenkins agent (FKA "slave") using JNLP to …   97                                      [OK]
jenkinsci/slave                        Base Jenkins slave docker image                 58                                      [OK]
jenkinsci/ssh-slave                    A Jenkins SSH Slave docker image                39                                      [OK]
jenkins/slave                          base image for a Jenkins Agent, which includ…   34                                      [OK]
cloudbees/jenkins-enterprise           CloudBees Jenkins Enterprise (Rolling releas…   34                                      [OK]
xmartlabs/jenkins-android              Jenkins image for Android development.          26                                      [OK]
h1kkan/jenkins-docker                   Extended Jenkins docker image, bundled wi…    25
openshift/jenkins-2-centos7            A Centos7 based Jenkins v2.x image for use w…   20
bitnami/jenkins                        Bitnami Docker Image for Jenkins                19                                      [OK]
cloudbees/jenkins-operations-center    CloudBees Jenkins Operation Center (Rolling …   13                                      [OK]
blacklabelops/jenkins                  Docker Jenkins Swarm-Ready with HTTPS and Pl…   13                                      [OK]
vfarcic/jenkins-swarm-agent            Jenkins agent based on the Swarm plugin         8                                       [OK]
openshift/jenkins-slave-base-centos7   A Jenkins slave base image. DEPRECATED: see …   6
publicisworldwide/jenkins-slave        Jenkins Slave based on Oracle Linux             5                                       [OK]
openshift/jenkins-1-centos7            DEPRECATED: A Centos7 based Jenkins v1.x ima…   4
trion/jenkins-docker-client            Jenkins CI server with docker client            3                                       [OK]
ansibleplaybookbundle/jenkins-apb      An APB which deploys Jenkins CI                 1                                       [OK]
mashape/jenkins                        Just a jenkins image with the AWS cli added …   0                                       [OK]
amazeeio/jenkins-slave                 A jenkins slave that connects to a master vi…   0                                       [OK]
jameseckersall/jenkins                 docker-jenkins (based on openshift jenkins 2…   0                                       [OK]

语法及常用参数:

[root@iz2ze0lvzs71710m0jegmsz docker]# docker search --help
Usage:    docker search [OPTIONS] TERM
Options:
--no-trunc:显示完整的镜像描述
-s:列出收藏数不小于指定值的镜像
eg:# docker search -s 30 jenkins

三、docker pull 拉取某个镜像到本地

[root@iz2ze0lvzs71710m0jegmsz docker]# docker pull tomcat
Using default tag: latest
latest: Pulling from library/tomcat
9a0b0ce99936: Pull complete
db3b6004c61a: Pull complete
f8f075920295: Pull complete
6ef14aff1139: Pull complete
962785d3b7f9: Pull complete
631589572f9b: Pull complete
c55a0c6f4c7b: Downloading
379605d88e88: Download complete
e056aa10ded8: Download complete
6349a1c98d85: Download complete
latest: Pulling from library/tomcat
9a0b0ce99936: Pull complete
db3b6004c61a: Pull complete
f8f075920295: Pull complete
6ef14aff1139: Pull complete
962785d3b7f9: Pull complete
631589572f9b: Pull complete
c55a0c6f4c7b: Pull complete
379605d88e88: Pull complete
e056aa10ded8: Pull complete
6349a1c98d85: Pull complete
Digest: sha256:77e41dbdf7854f03b9a933510e8852c99d836d42ae85cba4b3bc04e8710dc0f7
Status: Downloaded newer image for tomcat:latest
docker.io/library/tomcat:latest

语法及常用参数:

[root@iz2ze0lvzs71710m0jegmsz docker]# docker pull --help
Usage:    docker pull [OPTIONS] NAME[:TAG|@DIGEST]
Options:
-a:下载仓库所有镜像
--disable-content-trust :忽略镜像的校验,默认开启
上面的例子没有写TAG是哪个版本,所有默认下载最新版本(tag为last的)

四、dcoker rmi删除某个镜像

删除单个:#docker rmi -f 镜像ID
删除多个:#docker rmi -f 镜像名1:TAG 镜像名2:TAG
删除全部:#docker rmi -f ${docker images -qa}

五、docker commit 提交容器副本使之称为新的镜像

docker commit -m="提交的描述信息" -a="作者" 容器ID 要创建的目标镜像名:[标签名]
eg:
#docker commit -a="xiaowang" -m="del tomcat docs" 202ddd0513de xiaowang/mytomcat:1.2
上面这个命令案例演示(有条件的同学可以跟着敲一下):
1.从Docker Hub上下载Tomcat镜像并在本地运行
#docker run -it(-d) -p 8888:8080 tomcat
-p 主机端口:docker容器端口
-P 随机端口分配
-it 终端交互
-d 后台运行
2.故意删除上一步镜像产生的Tomcat容器的文档
#docker exec -it 202ddd0513de /bin/bash
#rm -rf ./tomcat/webapps/docs
3.当前运行的这个tomcat实例是一个没有文档内容的tomcat,以它为模板commit一个没有doc的tomcat新镜像xiaowang/mytomcat
#docker commit -a="xiaowang" -m="del tomcat docs" 202ddd0513de xiaowang/mytomcat:1.2
4.分别启动我们的新镜像和之前的镜像查看区别
启动我们现在的xiaowang/mytomcat  发现它并没有doc
启动我们之前的tomcat   发现它的doc还是正常的
相关文章
|
1月前
|
JavaScript Docker 容器
使用Docker多阶段构建优化镜像大小
使用Docker多阶段构建优化镜像大小
268 100
|
1月前
|
缓存 安全 Linux
优化Docker镜像大小的多阶段构建实践
优化Docker镜像大小的多阶段构建实践
226 99
|
1月前
|
缓存 Docker 容器
优化Docker镜像大小的五个实用技巧
优化Docker镜像大小的五个实用技巧
206 98
|
1月前
|
安全 Go Docker
使用Docker多阶段构建优化镜像大小
使用Docker多阶段构建优化镜像大小
|
10天前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
138 5
|
10天前
|
存储 Java Linux
【Docker】(2)还在浏览网页寻找Docker命令?本文全面列举与使用Docker里的各个命令!想要什么命令直接从本文拿!
docker有着比VM更少的抽象层 由于Docker不需要Hypervisor实现硬件资源虚拟化,运行在Docker容器上的程序直接使用的都是实际物理机的硬件资源 因此在CPU、内存利用率上Docker将会在效率上有明显优势 docker利用的时宿主机的内核,而不需要加载操作系统OS内核 当新建一个容器时,Docker不需要和虚拟机一样重新加载一个操作系统内核 进而避免引寻、加载操作系统内核返回等比较费时费资源的过程,当新建一个虚拟机时,虚拟机软件需要加载OS,返回新建过程时分钟级别的。 而Docker由于直接利用宿主机的操作系统,则省略了返回过程,因此新建一个Docker容器只需
91 1
|
1月前
|
Java Docker 容器
使用Docker多阶段构建优化镜像大小
使用Docker多阶段构建优化镜像大小
80 8
|
3月前
|
安全 Unix Linux
Docker中授权普通用户使用docker命令以及解决无权限访问/var/run/docker.sock错误。
通过上述步骤,可以有效解决普通用户无法使用Docker命令的问题,同时处理 `/var/run/docker.sock`权限错误。这样的设置不仅方便用户使用Docker提供的各项服务,同时还能保护系统的安全性。在进行此类配置更改时,请确保理解每一步骤的作用及潜在的安全风险,尤其是在修改文件权限时。在实际的操作中,始终应该努力保持系统的最低必要权限,避免过度放宽权限,这是保障系统安全的一个重要方针。
900 75
|
2月前
|
缓存 Ubuntu Docker
Ubuntu环境下删除Docker镜像与容器、配置静态IP地址教程。
如果遇见问题或者想回滚改动, 可以重启系统.
187 16
kde
|
3月前
|
Docker 容器 应用服务中间件
Docker 客户端是如何拉取镜像的?
Docker客户端拉取镜像的过程遵循Docker Registry HTTP API V2规范,主要分为解析镜像名、鉴权、获取Manifest、拉取Layers及本地合并五个步骤。它与Docker Hub、Harbor等仓库通信,确保镜像正确下载和构建。
kde
591 59