Docker 镜像
Docker 镜像是用于创建 Docker 容器的只读模板,包含了运行应用程序所需的所有文件、环境变量和配置。镜像可以从公共或私有的镜像仓库中拉取,也可以通过编写 Dockerfile 自定义构建。
搜索镜像
Docker 提供了 docker search 命令,用于在 Docker Hub 上搜索镜像:
bash
# 搜索镜像,将 [镜像名称] 替换为你想要搜索的镜像名称
docker search [镜像名称]
# 示例:搜索 nginx 镜像
docker search nginx拉取镜像
Docker 提供了 docker pull 命令,用于从 Docker Hub 或其他镜像仓库中拉取镜像:
bash
# 拉取镜像,将 [镜像名称] 替换为镜像名称,[标签] 替换为具体的镜像标签(如 latest)
docker pull [镜像名称]:[标签]
# 示例:拉取 nginx 的最新版本
docker pull nginx
# 示例:拉取指定版本的镜像,如 nginx:1.21
docker pull nginx:1.21查看镜像
Docker 提供了一组与镜像管理相关的命令,用于查看、删除和管理本地镜像:
bash
# 查看本地镜像
docker images
# 展示所有镜像,包括隐藏镜像
docker images -a
# 仅展示镜像的 ID 信息
docker images -q
# 组合参数,列出所有镜像的 ID,包括隐藏镜像
docker images -aq
# 查看镜像详情,将 [镜像ID或名称] 替换为镜像的 ID 或名称
docker inspect [镜像ID或名称]删除镜像
Docker 提供了 docker rmi 命令,用于删除本地的 Docker 镜像。
bash
# 删除镜像,将 [镜像ID或名称] 替换为目标镜像的 ID 或名称
docker rmi [镜像ID或名称]
# 示例:删除名为 nginx 的镜像
docker rmi nginx
# 强制删除镜像
docker rmi -f [镜像ID或名称]
# 示例:强制删除名为 nginx 的镜像
docker rmi -f nginx
# 删除所有未使用的镜像
docker image prune
# 示例:删除所有未使用的镜像并释放空间
docker image prune -aWARNING
删除镜像时,请确保没有容器正在使用该镜像,否则需要先删除相关容器。
推送镜像
Docker 提供了 docker push 命令,用于将本地镜像推送到远程镜像仓库(如 Docker Hub 或私有仓库)。
bash
# 登录到目标镜像仓库
# 不填写仓库地址时,默认登录到 Docker Hub
docker login [仓库地址]
# 为镜像打标签
docker tag [镜像ID或名称] [DockerHub用户名]/[镜像名称]:[标签]
# 示例:为本地镜像 my-app 打标签,推送到 Docker Hub 的 my-namespace 命名空间
# docker tag my-app my-namespace/my-app:latest
# 推送镜像到远程仓库
# 当执行 docker push 时,Docker 会根据镜像的标签信息将镜像推送到对应的远程仓库。
# 如果推动的镜像没有标签,Docker 会默认使用 latest 标签。
# 如果镜像在远程仓库中不存在,Docker 会自动创建一个新的镜像
docker push [DockerHub用户名]/[镜像名称]:[标签]TIP
在推送镜像之前,确保镜像名称和标签符合目标仓库的命名规则。
WARNING
推送到公共仓库的镜像会被公开访问,请确保镜像中不包含敏感信息。
