Docker是怎么工作的?

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: Docker操作 (三)

阿里云镜像加速
1、登录阿里云找到容器服务
2、找到镜像加速的地址
3、配置使用

$sudo mkdir -p /etc/docker

$sudo tee /etc/docker/daemon.json <<-'EOF'
{
   
    "registry-mirrors":["https://bruce_liu1973@163.com.mirror.aliyuncs.com"]
}
EOF
$sudo systemctl daemon-reload
$sudo systemctl restart docker

回顾HelloWorld流程
1、开始---->docker在本机寻找镜像---->判断是否存在 ---->存在启动本机镜像
2、开始---->docker在本机寻找镜像---->判断是否存在 ---->不存在---->去docker hub下载----->找到下载到本地---->启动
底层原理
Docker是怎么工作的?
1、Docker是一个Client-Server结构的系统,Docker的守护进程(daemon)运行在主机上。通过Socket从客户端访问
2、DockerServer接收到Docker-Client的指令,就会执行这个命令

Docker的常用命令
docker info       #显示docker的系统信息,包括镜像和容器的数量
docker version    #显示docker的版本信息
docker --help     #帮助命令

帮助文档的地址:https://docs.docker.com/engine/reference/commandline/

镜像命令
1、docker images 查看所有本地的主机上的镜像

# Windows系统环境
C:\cmder
λ docker images
REPOSITORY                  TAG                                                     IMAGE ID       CREATED         SIZE
docker/getting-started      latest                                                  26d80cd96d69   4 weeks ago     28.5MB
docker/desktop-kubernetes   kubernetes-v1.22.4-cni-v0.8.5-critools-v1.17.0-debian   493a106d3678   6 weeks ago     294MB
scrapinghub/splash          latest                                                  9364575df985   16 months ago   1.89GB
# 解释
REPOSITORY    镜像的仓库源
TAG          镜像的标签
IMAGE ID     镜像的id
CREATED         镜像的创建时间
SIZE         镜像的大小

# 可选项

Options:                                                                   
  -a, --all             Show all images (default hides intermediate images)   # 列出所有镜像                           -q, --quiet           Only show image IDs                                   # 只显示ID

2、docker search搜索镜像

官网地址:https://hub.docker.com/

# Windows系统环境
docker search mysql
C:\cmder
λ docker search mysql
NAME                              DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql                             MySQL is a widely used, open-source relation…   11909     [OK]
mariadb                           MariaDB Server is a high performing open sou…   4556      [OK]
mysql/mysql-server                Optimized MySQL Server Docker images. Create…   894                  [OK]

# 可选项
docker search --help
Options:
  -f, --filter filter   Filter output based on conditions provided
      --format string   Pretty-print search using a Go template
      --limit int       Max number of search results (default 25)
      --no-trunc        Don't truncate output
#通过收藏来过滤
--filter=STARS=3000  # 搜索出来的镜像就是STARS超过3000的

C:\cmder
λ docker search mysql --filter=STARS=4000
NAME      DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql     MySQL is a widely used, open-source relation…   11909     [OK]
mariadb   MariaDB Server is a high performing open sou…   4556      [OK]

docker pull 下载镜像

# Windows系统环境
C:\cmder
λ docker pull --help

Usage:  docker pull [OPTIONS] NAME[:TAG|@DIGEST]

Pull an image or a repository from a registry

Options:
  -a, --all-tags                Download all tagged images in the repository
      --disable-content-trust   Skip image verification (default true)
      --platform string         Set platform if server is multi-platform
                                capable
  -q, --quiet                   Suppress verbose output
  # 下载镜像
C:\cmder                                                                              
λ docker pull mysql                                                                   
Using default tag: latest              #如果不写tag,默认就是latest                                                     
latest: Pulling from library/mysql                                                    
72a69066d2fe: Pull complete             # 分层下载,docker images的核心,联合文件系统
93619dbc5b36: Pull complete                                                           
99da31dd6142: Pull complete                                                           
626033c43d70: Pull complete                                                           
37d5d7efb64e: Pull complete                                                           
ac563158d721: Pull complete                                                           
d2ba16033dad: Pull complete                                                           
688ba7d5c01a: Pull complete                                                           
00e060b6d11d: Pull complete                                                           
1c04857f594f: Pull complete                                                           
4d7cfa90e6ea: Pull complete                                                           
e0431212d27d: Pull complete                                                           
Digest: sha256:e9027fe4d91c0153429607251656806cc784e914937271037f7738bd5b8e7709       # 签名
Status: Downloaded newer image for mysql:latest                                       
docker.io/library/mysql:latest                                                    # 真实地址   

# 等价命令
docker pull mysql
docker pull docker.io/library/mysql:latest

# 下载镜像 指定版本
docker pull mysql:5.7 

C:\cmder                                                                        
λ docker pull mysql:5.7                                                         
5.7: Pulling from library/mysql                                                 
72a69066d2fe: Already exists                                                    
93619dbc5b36: Already exists                                                    
99da31dd6142: Already exists                                                    
626033c43d70: Already exists                                                    
37d5d7efb64e: Already exists                                                    
ac563158d721: Already exists                                                    
d2ba16033dad: Already exists                                                    
0ceb82207cd7: Pull complete                                                     
37f2405cae96: Pull complete                                                     
e2482e017e53: Pull complete                                                     
70deed891d42: Pull complete                                                     
Digest: sha256:f2ad209efe9c67104167fc609cca6973c8422939491c9345270175a300419f94 
Status: Downloaded newer image for mysql:5.7                                    
docker.io/library/mysql:5.7                                                     
# 查看所有的镜像

image.png

docker 删除镜像

docker rmi -f c20987f18b13   # image id  删除指定的镜像
docker rmi -f 容器id 容器id 容器id 容器id  #删除多个容器
docker rmi -f $(docker images -aq)  #删除所有的镜像   -aq是所有的镜像 $()传参
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
11月前
|
NoSQL Linux Redis
Docker学习重点(8)~Docker网络
Docker学习重点(8)~Docker网络
107 0
|
11月前
|
应用服务中间件 Shell nginx
Docker学习重点(4)~docker 部署环境
Docker学习重点(4)~docker 部署环境
103 0
|
12小时前
|
Linux 持续交付 iOS开发
docker的使用(环境特殊时可以考虑使用)
docker的使用(环境特殊时可以考虑使用)
5 0
|
消息中间件 JSON Shell
Docker | Docker技术基础梳理(八) - Dockerfile定制镜像浅析
Docker | Docker技术基础梳理(八) - Dockerfile定制镜像浅析
113 0
|
5月前
|
消息中间件 关系型数据库 持续交付
Docker容器,使用 Docker 做些什么
都在使用 Docker 来做些什么。首先,我们需要明确的是,Docker 作为一种容器化技术,广泛应用于各种不同的场景,从微服务、云计算到持续集成和持续部署(CI/CD),它的应用几乎遍及现代软件开发的每一个角落。
|
虚拟化 Docker 容器
【docker】Docker是怎么工作的?
【docker】Docker是怎么工作的?
【docker】Docker是怎么工作的?
|
消息中间件 Linux Kafka
Docker | Docker技术基础梳理(九) - Docker Compose 浅析与 部署实例
Docker | Docker技术基础梳理(九) - Docker Compose 浅析与 部署实例
112 0
|
测试技术 Docker Python
02 Docker实战之使用Docker管理测试环境
02 Docker实战之使用Docker管理测试环境
|
Ubuntu 网络协议 NoSQL
Docker日常工作常用命令
Docker日常工作常用命令
170 0
Docker日常工作常用命令
|
Linux Shell 开发工具
Docker笔记:收集Docker工作中常用的一些命令
今天给大家梳理常用的一些Docker命令,供大家参考。
Docker笔记:收集Docker工作中常用的一些命令