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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 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传递给删除镜像这个命令,这个命令会依次执行删除。

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
14天前
|
NoSQL 关系型数据库 MySQL
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
117 56
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
|
21天前
|
监控 NoSQL 时序数据库
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
173 77
|
29天前
|
Docker 容器
将本地的应用程序打包成Docker镜像
将本地的应用程序打包成Docker镜像
|
13天前
|
NoSQL PHP MongoDB
docker push推送自己搭建的镜像
本文详细介绍了如何搭建和复盘两个Web安全挑战环境:人力资源管理系统和邮件管理系统。首先,通过Docker搭建MongoDB和PHP环境,模拟人力资源管理系统的漏洞,包括nosql注入和文件写入等。接着,复盘了如何利用这些漏洞获取flag。邮件管理系统部分,通过目录遍历、文件恢复和字符串比较等技术,逐步绕过验证并最终获取flag。文章提供了详细的步骤和代码示例,适合安全研究人员学习和实践。
37 3
docker push推送自己搭建的镜像
|
18天前
|
关系型数据库 MySQL Docker
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
78 24
|
17天前
|
Docker 容器
|
20天前
|
关系型数据库 MySQL Docker
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
98 6
|
29天前
|
数据库 Docker 容器
Docker在现代软件开发中扮演着重要角色,通过Dockerfile自动化构建Docker镜像,实现高效、可重复的构建过程。
Docker在现代软件开发中扮演着重要角色,通过Dockerfile自动化构建Docker镜像,实现高效、可重复的构建过程。Dockerfile定义了构建镜像所需的所有指令,包括基础镜像选择、软件安装、文件复制等,极大提高了开发和部署的灵活性与一致性。掌握Dockerfile的编写,对于提升软件开发效率和环境管理具有重要意义。
58 9
|
1月前
|
缓存 Linux 网络安全
docker的镜像无法下载如何解决?
【10月更文挑战第31天】docker的镜像无法下载如何解决?
2233 30
|
29天前
|
存储 缓存 运维
Docker镜像采用分层存储,每层代表镜像的一部分,如基础组件或应用依赖,多层叠加构成完整镜像
Docker镜像采用分层存储,每层代表镜像的一部分,如基础组件或应用依赖,多层叠加构成完整镜像。此机制减少存储占用,提高构建和传输效率。Docker还通过缓存机制提升构建和运行效率,减少重复工作。文章深入解析了Docker镜像分层存储与缓存机制,包括具体实现、管理优化及实际应用案例,帮助读者全面理解其优势与挑战。
47 4

热门文章

最新文章