Skip to content

仓库

简介

仓库(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-trusttrue跳过镜像验证
-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 的版本。
    • rcrelease-candidate - 表示发布候选版本,通常是即将成为稳定版本之前的最后一个测试阶段。
    • betaalpha - 分别表示处于 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-trusttrue跳过镜像验证
-q, --quiet禁止详细输出
  • 说明:将镜像推送到 Docker Hub(或其他镜像仓库)
  • 示例:
bash
# 推送最新的Redis镜像,相当于:docker push redis:latest
docker push redis
# 推送所有所有Redis镜像到仓库
docker pull -a redis
  • 说明:在 Docker Hub 中搜索镜像
参数
参数默认值描述
-f, --filter根据提供的条件过滤输出
--format使用 Go 模板进行漂亮的打印搜索
--limit25最多搜索结果数
--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