mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-03-10 11:54:37 +00:00
Fix and update
This commit is contained in:
@@ -1,5 +1,9 @@
|
||||
## 获取镜像
|
||||
|
||||
## 获取镜像
|
||||
|
||||
从 Docker 镜像仓库获取镜像可谓是 Docker 运作的第一步。本节将介绍如何使用 `docker pull` 命令下载镜像,以及如何理解下载过程。
|
||||
|
||||
### docker pull 命令
|
||||
|
||||
从镜像仓库获取镜像的命令是 `docker pull`:
|
||||
@@ -10,6 +14,10 @@ docker pull [选项] [Registry地址/]仓库名[:标签]
|
||||
|
||||
#### 镜像名称格式
|
||||
|
||||
#### 镜像名称格式
|
||||
|
||||
Docker 镜像名称由 Registry 地址、用户名、仓库名和标签组成。其标准格式如下:
|
||||
|
||||
```
|
||||
docker.io / library / ubuntu : 24.04
|
||||
────┬──── ───┬─── ──┬─── ──┬──
|
||||
@@ -27,23 +35,31 @@ Registry地址 用户名 仓库名 标签
|
||||
|
||||
#### 示例
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
## 完整格式
|
||||
|
||||
$ docker pull docker.io/library/ubuntu:24.04
|
||||
|
||||
## 省略 Registry(默认 Docker Hub)
|
||||
|
||||
$ docker pull library/ubuntu:24.04
|
||||
|
||||
## 省略 library(官方镜像)
|
||||
|
||||
$ docker pull ubuntu:24.04
|
||||
|
||||
## 省略标签(默认 latest)
|
||||
|
||||
$ docker pull ubuntu
|
||||
|
||||
## 拉取第三方镜像
|
||||
|
||||
$ docker pull bitnami/redis:latest
|
||||
|
||||
## 从其他 Registry 拉取
|
||||
|
||||
$ docker pull ghcr.io/username/myapp:v1.0
|
||||
```
|
||||
|
||||
@@ -51,6 +67,10 @@ $ docker pull ghcr.io/username/myapp:v1.0
|
||||
|
||||
### 下载过程解析
|
||||
|
||||
当我们执行 `docker pull` 命令时,Docker 会输出详细的下载进度。让我们以 `ubuntu:24.04` 为例来解析这些信息。
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
$ docker pull ubuntu:24.04
|
||||
24.04: Pulling from library/ubuntu
|
||||
@@ -93,6 +113,8 @@ docker.io/library/ubuntu:24.04
|
||||
|
||||
### 常用选项
|
||||
|
||||
`docker pull` 命令支持多种选项来满足不同的下载需求,例如下载所有标签、指定平台架构等。
|
||||
|
||||
| 选项 | 说明 | 示例 |
|
||||
|------|------|------|
|
||||
| `--all-tags, -a` | 拉取所有标签 | `docker pull -a ubuntu` |
|
||||
@@ -115,9 +137,11 @@ $ docker pull --platform linux/amd64 nginx
|
||||
|
||||
```bash
|
||||
## 拉取镜像
|
||||
|
||||
$ docker pull ubuntu:24.04
|
||||
|
||||
## 运行容器
|
||||
|
||||
$ docker run -it --rm ubuntu:24.04 bash
|
||||
root@e7009c6ce357:/# cat /etc/os-release
|
||||
PRETTY_NAME="Ubuntu 24.04 LTS"
|
||||
@@ -155,6 +179,8 @@ root@e7009c6ce357:/# exit
|
||||
|
||||
```bash
|
||||
$ sudo systemctl restart docker # Linux
|
||||
## 或在 Docker Desktop 中重启
|
||||
|
||||
## 或在 Docker Desktop 中重启
|
||||
```
|
||||
|
||||
@@ -164,8 +190,12 @@ $ sudo systemctl restart docker # Linux
|
||||
|
||||
### 验证镜像完整性
|
||||
|
||||
为了确保下载的镜像没有被篡改且内容一致,我们可以校验镜像的摘要(Digest)。
|
||||
|
||||
#### 查看镜像摘要
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
$ docker images --digests ubuntu
|
||||
REPOSITORY TAG DIGEST IMAGE ID
|
||||
@@ -186,6 +216,8 @@ $ docker pull ubuntu@sha256:4bc3ae6596938cb0d9e5ac51a1152ec9dcac2a1c50829c74abd9
|
||||
|
||||
### 常见问题
|
||||
|
||||
在使用 `docker pull` 过程中,可能会遇到下载速度慢、镜像不存在或磁盘空间不足等问题。以下是一些常见问题的排查思路。
|
||||
|
||||
#### Q: 下载速度很慢
|
||||
|
||||
1. 配置镜像加速器
|
||||
@@ -194,6 +226,8 @@ $ docker pull ubuntu@sha256:4bc3ae6596938cb0d9e5ac51a1152ec9dcac2a1c50829c74abd9
|
||||
|
||||
#### Q: 提示镜像不存在
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
Error: pull access denied, repository does not exist
|
||||
```
|
||||
@@ -205,11 +239,15 @@ Error: pull access denied, repository does not exist
|
||||
|
||||
#### Q: 磁盘空间不足
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
## 清理未使用的镜像
|
||||
|
||||
$ docker image prune
|
||||
|
||||
## 清理所有未使用资源
|
||||
|
||||
$ docker system prune
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user