Docker基础 常用命令、docker命令、镜像命令

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: Docker 常用命令、docker命令、镜像命令、docker帮助文档地址,镜像基础命令详解,参数解释,帮助方法

Docker常用命令
容器帮助命令
docker --help        可以查看docker所有命令
docker 命令 --help 可以查看该命令的使用方式和参数

docker version #显示docker的版本信息
docker info #显示docker的系统信息,包括镜像和容器数量
docker 命令 --help #帮助命令
帮助文档的地址:
docker | Docker Documentation
https://docs.docker.com/engine/reference/commandline/docker/

官网帮助文档会有docker里的命令,点击相应命令就可以看到这个命令的使用方法和作用。 
image.png

 

 镜像命令
镜像是什么?镜像讲解:
镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时、库、环境变量和配置文件。

所有应用,直接打包docker镜像,就可以直接跑起来!

如何得到镜像:
1、从远程仓库下载

2、别人拷贝给你

3、自己制作一个镜像 DockerFile

docker镜像加载原理:UnionFS(联合文件系统)
我们下载的时候看到一层层的就是这个联合文件系统!

UnionFS(联合文件系统):Union文件系统(UnionFS)是一种分层、轻量级并且高性能的文件系统,他支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下,Union文件系统是docker镜像的基础。镜像可以通过分层来继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。

特性:一次同时加载多个文件系统,但从外面看来,只能看到一个文件系统,联合加载会把各层文件系统叠加起来,这样最终的文件系统会包含所有底层的文件和目录。

docker images        查看本地主机上所有的镜像

例:不会使用的docker命令,或者想知道该命令有什么参数的话,可以使用:

docker images --help

[root@localhost ~]# docker images --help

Usage: docker images [OPTIONS] [REPOSITORY[:TAG]]

List images

Options:
-a, --all Show all images (default hides intermediate images)

  --digests         Show digests

-f, --filter filter Filter output based on conditions provided

  --format string   Pretty-print images using a Go template
  --no-trunc        Don't truncate output

-q, --quiet Only show image IDs

中文翻译:
列出图片

选项:
-a、 --全部显示所有镜像(默认隐藏中间镜像)
--摘要显示摘要
-f、 --根据提供的条件过滤输出
--使用Go模板格式化字符串打印镜像
--no trunc不截断输出
-q、 --仅显示镜像ID

其中docker images -a和-q参数比较常用,也可以-aq一起写:
-a 全部显示所有镜像
-q 仅显示镜像ID
[root@localhost ~]# docker images

REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest feb5d9fea6a5 6 months ago 13.3kB

解释:

REPOSITORY 镜像的仓库源
TAG 镜像标签
IMAGE ID 镜像ID
CREATED 镜像的创建时间
SIZE 镜像的大小
docker search [镜像:标签]        搜索镜像
例:搜索docker hub库里的都有什么版本的mysql镜像
image.png

[root@localhost ~]# docker search mysql
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relation… 12408 [OK]
mariadb MariaDB Server is a high performing open sou… 4780 [OK]
mysql/mysql-server Optimized MySQL Server Docker images. Create… 918 [OK]

解释:

STARS 收藏,镜像的收藏人数,数字代表该镜像被收藏的数量
DESCRIPTION 镜像的描述,可以根据描述知道该镜像的功能

可选项:
--filter 过滤
使用方法;
--filter=STARS=3000 以收藏量为过滤条件,过滤出收藏量在三千以上的镜像

实操:
[root@localhost ~]# docker search mysql --filter=STARS=3000
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relation… 12408 [OK]
mariadb MariaDB Server is a high performing open sou… 4780 [OK]

过滤后只剩下收藏量在三千以上的镜像了
docker pull [镜像:标签]        拉取镜像 
[root@localhost ~]# docker pull mysql
Using default tag: latest #如果不写tag,默认就是latest,最新版
latest: Pulling from library/mysql
f003217c5aae: Pull complete #分层下载,docker images 的核心,联合文件系统
65d94f01a09f: Pull complete
43d78aaa6078: Pull complete
a0f91ffbdf69: Pull complete
59ee9e07e12f: Pull complete
04d82978082c: Pull complete
70f46ebb971a: Pull complete
db6ea71d471d: Pull complete
c2920c795b25: Pull complete
26c3bdf75ff5: Pull complete
9ec1f1f78b0e: Pull complete
4607fa685ac6: Pull complete
Digest: sha256:1c75ba7716c6f73fc106dacedfdcf13f934ea8c161c8b3b3e4618bcd5fbcf195 #签名信息,防伪标志。
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest #真实地址

解释:
Using default tag: latest 使用默认标签,最新的。默认下载最新版本的镜像
tag 标签
latest 最新的
docker.io/library/mysql:latest #真实地址,等价于docker pull mysql

注:
拉取镜像也可使用真实地址,这里
docker pull mysql == docker.io/library/mysql:latest
docker pull [镜像:标签]       指定版本拉取
指定版本下载一定要docker hub库里有的版本

[root@localhost ~]# docker pull mysql:5.7
5.7: Pulling from library/mysql
f003217c5aae: Already exists #已经存在
65d94f01a09f: Already exists
43d78aaa6078: Already exists
a0f91ffbdf69: Already exists
59ee9e07e12f: Already exists
04d82978082c: Already exists
70f46ebb971a: Already exists
ba61822c65c2: Pull complete
dec59acdf78a: Downloading [=====> ] 12.87MB/108.6MB
0a05235a6981: Download complete
c87d621d6916: Download complete

解释:

Already exists 已经存在

docker的核心,分层下载,将需要拉取的镜像分为多层,逐一下载。
若后续下载的其他版本的镜像有分层是一样的,就不会下载了,会显示该分层已经存在。共用这个分层,联合文件系统。
docker rmi [镜像:标签]或[镜像ID]        删除镜像
rmi的详解rm=removal (去除)   i=images (镜像)

可加参数: -f        强制删除镜像     docker rmi -f 镜像

[root@localhost ~]# docker rmi mysql
Untagged: mysql:latest
Untagged: mysql@sha256:1c75ba7716c6f73fc106dacedfdcf13f934ea8c161c8b3b3e4618bcd5fbcf195
Deleted: sha256:667ee8fb158e365450fc3f09712208fe44e9f1364a9b130fed95f3f4862f8a63
Deleted: sha256:daba3b5cd1b725f259d5d59049c7011f6a20f2e7e4782b873cadeedbc1a4f122
Deleted: sha256:407a68a397de3c8e4da2ccd388f27c795519414cc9319f674e7b9a492cd8514b
Deleted: sha256:6967db79cb8031d7e505dd82c91c6426e84c6ad2098d06c1c090485886bc1c63
Deleted: sha256:3dcc0f922d11309b2e4870d5f42c5005f086c9b9c1e128ed2b712b65fa79a5c9
Deleted: sha256:ae5d4ab2734d5c27069212b2690dc2c7ac4cd85ee5e122607cb175f7fe908914
Deleted: sha256:610784bcaae50e999566928bdec7a4e146fe075d9e487bde0a228c99013ff1d9
Deleted: sha256:ccebaff04ea21a9e2df07f9d5af5c47ccd141cd3590f4d45784b6075e7c17ded
Deleted: sha256:716203221cd982fc07b80efda0c53a759ecfd69b2d93d4e8adf5fa094351372e
Deleted: sha256:fbd4939b3eb58642a07003e076acc3d0d8140797f61139ce4d3645790d9c8b51
Deleted: sha256:88f8458b4b2030b229b9757bd4061bce58b65e831a0bba8fa71aa8b3f87db630
Deleted: sha256:f2f431ab3ddc1460d300cd86016cc03b7611b56f04bd88370da3d378b3d10aea
Deleted: sha256:c1065d45b8722a4385f2ee26116e1859e8083400ee00d2beff3fdd5225bfeee9

删除镜像时也是逐一删除镜像的分层
docker rmi -f $(docker images -aq)        删除所有镜像
[root@localhost ~]# docker rmi -f $(docker images -aq)
Untagged: hello-world:latest
Untagged: hello-world@sha256:bfea6278a0a267fad2634554f4f0c6f31981eea41c553fdf5a83e95a41d40c38
Deleted: sha256:feb5d9fea6a5e9606aa995e879d862b825965ba48de054caab5ef356dc6b3412

解释

rmi # remove images 移除镜像
-f # 强制删除
$() #传递参数,将括号里的参数传递给该命令

docker images -aq #查看所有docker镜像的ID
-a #查看所有
-q #只看镜像ID

docker rmi -f $(docker images -aq) #将所有的镜像ID传递给删除镜像这个命令,这个命令会依次执行删除。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
5天前
|
应用服务中间件 nginx 开发者
从 Docker Hub 拉取镜像受阻?这些解决方案帮你轻松应对
最近一段时间 Docker 镜像一直是 Pull 不下来的状态,感觉除了挂🪜,想直连 Docker Hub 是几乎不可能的。更糟糕的是,很多原本可靠的国内镜像站,例如一些大厂和高校运营的,也陆续关停了,这对我们这些个人开发者和中小企业来说是挺难受的。之前,通过这些镜像站,我们可以快速、方便地获取所需的 Docker 镜像,现在这条路也不行了。感觉这次动作不小,以后想直接访问 Docker Hub 是不可能了。所以我们得想办法搭建自己的私有镜像仓库。
从 Docker Hub 拉取镜像受阻?这些解决方案帮你轻松应对
|
6天前
|
Java Docker 容器
使用 Spring Boot 构建 Docker 镜像并进行多模式部署
使用 Spring Boot 构建 Docker 镜像并进行多模式部署
26 2
|
8天前
|
数据安全/隐私保护 开发者 Docker
国内docker公开镜像站的关闭!别急,docker_image_pusher 使用Github Action将国外的Docker镜像转存到阿里云私有仓库
通过使用 docker_image_pusher 这样的开源项目,我们能够轻松地解决国内访问 Docker 镜像拉取速度慢及拉去失败的问题,同时保证了镜像的稳定性和安全性。利用 Github Action 的自动化功能,使得这一过程更加简单和高效。
418 2
|
9天前
|
Docker 容器
docker network inspect 查询出来的网络的创建命令是什么
【6月更文挑战第17天】docker network inspect 查询出来的网络的创建命令是什么
18 1
|
14天前
|
Ubuntu 应用服务中间件 Linux
Docker基本操作命令
Docker 允许用户基于现有的容器或通过 Dockerfile 自定义镜像。Dockerfile 是一个文本文件,包含了创建镜像所需的所有命令。 命令: docker build [OPTIONS] PATH PATH:Dockerfile 所在的路径 OPTIONS:构建过程中的可选参数,如 -t 用于标记镜像名和标签 例如,使用当前目录的 Dockerfile 来构建镜像,并标记为 my_image:latest: docker build -t my_image:latest . 以上是 Docker 基础命令的简介,通过这些命令,你可以开始探索 Docker 的强大功能,并将其
32 2
|
1天前
|
应用服务中间件 Linux nginx
详细解读docker国内镜像源docker镜像大全
详细解读docker国内镜像源docker镜像大全
105 0
|
1天前
|
Docker 容器
Docker镜像、容器操作
Docker镜像、容器操作
10 0
|
5天前
|
存储 数据管理 Linux
Linux - 记录问题:docker 迁移 更改镜像默认位置的注意事项
Linux - 记录问题:docker 迁移 更改镜像默认位置的注意事项
20 0
|
8天前
|
缓存 Linux 开发工具
win10下docker desktop:使用dockerfile基于CentOS:8创建可以使用vim的镜像
win10下docker desktop:使用dockerfile基于CentOS:8创建可以使用vim的镜像
37 0
|
12天前
|
缓存 Linux Docker
docker 跨平台构建镜像
docker 跨平台构建镜像
26 0