仓库
简介
仓库(Repository)是集中存放镜像文件的场所。 仓库分为公开仓库(Public)和私有仓库(Private)两种形式。 最大的公开仓库是 Docker Hub,存放了数量庞大的镜像供用户下载。 国内的仓库包括华为云,阿里云 、网易云等
docker login
- 说明:登录 Docker Hub 或其他 Docker 注册服务器
参数
参数 | 默认值 | 描述 |
---|---|---|
-u, --username | 用户名 | |
-p, --password | 密码 |
- 示例:
bash
docker login -u username -p password
docker logout
- 说明:退出 Docker Hub 或其他 Docker 注册服务器
- 示例:
bash
docker logout localhost:8080
docker pull
- 说明:从 Docker Hub(或其他镜像仓库)下载镜像
参数
参数 | 默认值 | 描述 |
---|---|---|
-a, --all-tags | 下载镜像的所有标签 | |
--disable-content-trust | true | 跳过镜像验证 |
-q, --quiet | 禁止详细输出 |
- 示例:
bash
# 下载Redis官方最新镜像,相当于:docker pull redis:latest
docker pull redis
# 下载仓库所有Redis镜像
docker pull -a redis
# 下载私人仓库中的Redis镜像
docker pull bitnami/redis
- 版本后面的字母含义:
latest
- 表示最新的镜像版本,这是默认标签。mainline
- 在某些情况下表示最新版本或主线版本。stable
- 表示稳定的发布版本。testing
- 表示测试中的版本,可能包含未经过充分验证的新功能。slim
- 通常表示一个更精简的镜像版本,比如基于 Debian slim 的版本。rc
或release-candidate
- 表示发布候选版本,通常是即将成为稳定版本之前的最后一个测试阶段。beta
或alpha
- 分别表示处于 Beta 阶段或 Alpha 阶段的版本,这些版本通常用于早期测试。alpine
- 基于 Alpine Linux 的操作系统镜像,特点是体积小。buster
/stretch
/jessie
- 这些是基于 Debian 的不同版本,分别对应 Debian 的各个版本号。oracle-jdk
/openjdk
- 指示 Java 环境是基于 Oracle JDK 还是 OpenJDK。python
/node
/ruby
- 表示预装了 Python、Node.js 或 Ruby 语言环境的镜像。nginx
/apache
- 表示预装了 Nginx 或 Apache Web 服务器的镜像。onbuild
- 表示当用户使用这个镜像构建新镜像时,会自动执行某些操作。debug
- 包含调试工具的版本。gpu
- 支持 GPU 加速的版本。postgres
/mysql
- 预装了 PostgreSQL 或 MySQL 数据库的镜像。oracle /
mssql` - 预装了 Oracle 或 Microsoft SQL Server 数据库的镜像。arm
/amd64
- 指示镜像构建针对 ARM 架构或 AMD64 架构。32
/64
- 指示镜像是 32 位还是 64 位的。cuda
- 基于 CUDA 的镜像,用于 GPU 计算。tensorflow
/pytorch
- 预装了 TensorFlow 或 PyTorch 深度学习框架的镜像。
docker push
参数
参数 | 默认值 | 描述 |
---|---|---|
-a, --all-tags | 下载镜像的所有标签 | |
--disable-content-trust | true | 跳过镜像验证 |
-q, --quiet | 禁止详细输出 |
- 说明:将镜像推送到 Docker Hub(或其他镜像仓库)
- 示例:
bash
# 推送最新的Redis镜像,相当于:docker push redis:latest
docker push redis
# 推送所有所有Redis镜像到仓库
docker pull -a redis
docker search
- 说明:在 Docker Hub 中搜索镜像
参数
参数 | 默认值 | 描述 |
---|---|---|
-f, --filter | 根据提供的条件过滤输出 | |
--format | 使用 Go 模板进行漂亮的打印搜索 | |
--limit | 25 | 最多搜索结果数 |
--no-trunc | 不要截断输出 |
- 示例:
bash
# 搜索仓库MySQL镜像
docker search mysql
# --filter=stars=600:只显示 starts>=600 的镜像
docker search --filter=stars=600 mysql
# --no-trunc 显示镜像完整 DESCRIPTION 描述
docker search --no-trunc mysql
# --automated :只列出 AUTOMATED=OK 的镜像
docker search --automated mysql