1. 引言
Docker 作为当前最流行的容器化平台,其核心工作流之一就是拉取和运行镜像。对于初学者和日常使用者来说,掌握常用的镜像仓库地址以及高频 Docker 命令,是高效使用 Docker 的基础。本文将系统梳理常用的 Docker 镜像拉取地址仓库,并汇总日常开发中最高频的 Docker 命令。
2. Docker 的安装与仓库配置
在拉取镜像之前,需要先完成 Docker 的安装,并根据实际网络环境配置镜像仓库。下面分别介绍 Docker 在主流操作系统上的安装方式,以及如何配置 Docker 仓库。
2.1 在 Ubuntu / Debian 上安装 Docker
Ubuntu 和 Debian 是使用最广泛的 Linux 发行版,官方推荐通过 apt 仓库安装 Docker Engine。首先更新软件包索引并安装依赖工具。
bash
sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
接着添加 Docker 官方 GPG 密钥和软件源。
bash
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
最后更新索引并安装 Docker Engine 和命令行工具。
bash
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
2.2 在 CentOS / RHEL 上安装 Docker
CentOS 7 及以上版本可以通过 yum 仓库安装 Docker。先安装 yum-utils 并添加 Docker 官方仓库。
bash
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
然后安装 Docker Engine。
bash
sudo yum install -y docker-ce docker-ce-cli containerd.io
2.3 启动 Docker 服务并验证安装
安装完成后,需要启动 Docker 服务并设置为开机自启。
bash
sudo systemctl start docker
sudo systemctl enable docker
通过运行 hello-world 镜像验证安装是否成功。
bash
sudo docker run hello-world
如果终端输出 Hello from Docker! 说明安装成功。此外,可以通过 docker version 查看客户端和服务端版本信息。
2.4 配置 Docker 镜像仓库
安装完成后,需要配置镜像仓库。默认情况下 Docker 从 Docker Hub 拉取镜像,国内用户建议配置镜像加速器以提升拉取速度。编辑 Docker 配置文件 /etc/docker/daemon.json,加入以下内容。
json
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com"
]
}
保存后重启 Docker 服务使配置生效。
bash
sudo systemctl daemon-reload
sudo systemctl restart docker
配置完成后,可以使用 docker info 查看 Registry Mirrors 字段,确认加速器是否生效。对于企业用户,还可以在 daemon.json 中配置私有仓库地址,例如:
json
{
"insecure-registries": ["registry.example.com"]
}
配置私有仓库后,即可通过 docker login registry.example.com 登录并拉取内部镜像。
2.5 常用的 Docker 镜像仓库地址
Docker 镜像默认从 Docker Hub 拉取,但由于网络原因,国内用户通常需要配置镜像加速器或使用其他镜像仓库。以下是常用的镜像仓库地址。
1 Docker Hub 官方仓库
Docker Hub 是 Docker 官方提供的公共镜像仓库,也是默认的镜像拉取地址。绝大多数官方镜像(如 Nginx、MySQL、Redis、Ubuntu 等)都托管在这里。
bash
docker pull nginx:latest
docker pull mysql:8.0
docker pull redis:7.0
2 国内镜像加速器
由于网络原因,国内用户直接访问 Docker Hub 往往速度较慢,可以通过配置镜像加速器来提升拉取速度。常见的加速器地址如下:
- 阿里云镜像加速器 :
https://<你的专属ID>.mirror.aliyuncs.com,需登录阿里云容器镜像服务控制台获取专属地址。
- 腾讯云镜像加速器 :
https://mirror.ccs.tencentyun.com
轻量应用服务器 安装 Docker 并配置镜像加速源_腾讯云
- 中科大镜像加速器 :
https://docker.mirrors.ustc.edu.cn
配置方法:编辑 Docker 配置文件 /etc/docker/daemon.json,加入以下内容后重启 Docker 服务。
json
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com"
]
}
bash
sudo systemctl daemon-reload
sudo systemctl restart docker
3 其他公共镜像仓库
除了 Docker Hub,还有一些第三方公共镜像仓库可供选择:
- Quay.io :Red Hat 运营的容器镜像仓库,托管大量开源项目镜像,地址为
quay.io。 - GitHub Container Registry(GHCR) :GitHub 推出的容器镜像仓库,地址为
ghcr.io,适合存放与 GitHub 项目关联的镜像。 - Google Container Registry(GCR) :Google 的容器镜像仓库,地址为
gcr.io。
从这些仓库拉取镜像时,需要在镜像名前加上仓库地址前缀,例如:
bash
docker pull quay.io/prometheus/node-exporter
docker pull ghcr.io/owner/project:tag
其他常用镜像地址和网站
|----|--------------------|-------------------------------------------------------------------------------------|
| 序号 | 名称 | 地址 |
| 1 | 毫秒镜像(暂时还可以免费直接使用) | https://docker.1ms.run |
| 2 | 轩辕镜像(免费版和专业版,需要登录) | 轩辕镜像免费版体验入口 | 升级专业版享稳定加速 |
| 3 | 渡渡鸟的容器镜像 | 渡渡鸟镜像同步站 |
| 4 | Docker 官方 | https://hub.docker.com/ |
其他国内镜像源
- 清华大学TUNA镜像源: https://pypi.tuna.tsinghua.edu.cn/simple
- 阿里云镜像源: http://mirrors.aliyun.com/pypi/simple/
- 中国科学技术大学镜像源: https://mirrors.ustc.edu.cn/pypi/simple/
- 华为云镜像源: https://repo.huaweicloud.com/repository/pypi/simple/
- 腾讯云镜像源:https://mirrors.cloud.tencent.com/pypi/simple/
4 私有镜像仓库
企业或团队内部通常搭建私有镜像仓库,最常用的是 Harbor 和 Docker Registry。拉取私有仓库镜像时,需要先登录,再拉取。
bash
docker login registry.example.com
docker pull registry.example.com/team/app:1.0.0
3. Docker 常用命令汇总
下面按使用场景分类汇总 Docker 的高频命令。
3.1 镜像相关命令
- 拉取镜像 :
docker pull 镜像名:标签 - 查看本地镜像列表 :
docker images - 删除镜像 :
docker rmi 镜像ID或镜像名 - 构建镜像 :
docker build -t 镜像名:标签 . - 查看镜像详细信息 :
docker inspect 镜像ID - 给镜像打标签 :
docker tag 原镜像名:标签 新镜像名:标签 - 推送镜像到仓库 :
docker push 镜像名:标签
3.2 容器生命周期命令
- 创建并启动容器 :
docker run -d --name 容器名 镜像名:标签 - 启动已停止的容器 :
docker start 容器名或容器ID - 停止容器 :
docker stop 容器名或容器ID - 重启容器 :
docker restart 容器名或容器ID - 删除容器 :
docker rm 容器名或容器ID - 查看运行中的容器 :
docker ps - 查看所有容器(含已停止) :
docker ps -a
3.3 容器交互与日志命令
- 进入容器内部 :
docker exec -it 容器名或容器ID /bin/bash - 查看容器日志 :
docker logs 容器名或容器ID - 实时跟踪容器日志 :
docker logs -f 容器名或容器ID - 查看容器内进程 :
docker top 容器名或容器ID - 查看容器资源占用 :
docker stats
3.4 网络与数据卷命令
- 查看网络列表 :
docker network ls - 创建网络 :
docker network create 网络名 - 将容器连接到网络 :
docker network connect 网络名 容器名 - 查看数据卷列表 :
docker volume ls - 创建数据卷 :
docker volume create 卷名
3.5 清理与系统命令
- 清理未使用的镜像、容器和数据卷 :
docker system prune -a - 查看 Docker 版本信息 :
docker version - 查看 Docker 系统信息 :
docker info - 查看磁盘占用 :
docker system df
4. 常用命令组合示例
下面给出几个实际开发中常用的命令组合。
4.1 拉取并运行 Nginx 容器
bash
docker pull nginx:latest
docker run -d --name my-nginx -p 8080:80 nginx:latest
上述命令将 Nginx 容器的 80 端口映射到宿主机的 8080 端口,访问 http://localhost:8080 即可看到 Nginx 默认页面。
4.2 进入 MySQL 容器执行 SQL
bash
docker exec -it my-mysql mysql -uroot -p
4.3 清理无用资源
bash
docker system prune -a --volumes
该命令会清理所有未使用的镜像、容器、网络以及数据卷,适合在磁盘空间紧张时使用。
5. 总结
掌握常用的镜像仓库地址和 Docker 高频命令,是日常使用 Docker 的基础。建议优先配置国内镜像加速器以提升拉取速度,同时熟记镜像、容器、日志、网络和数据卷相关的核心命令。在实际项目中,可以结合 Docker Compose 进一步简化多容器编排,这部分内容将在后续文章中展开。