Docker基础命令汇总

镜像

docker下载镜像相关操作及命令

概念:

Docker镜像可以通俗地理解为一种“快照”或“模板”。就像你用相机拍照,捕捉某个瞬间的样子,Docker镜像就是捕捉了一个软件应用及其运行环境的完整状态。这样,无论在什么环境下,只要使用这个镜像,就可以快速地“复制”出这个应用及其环境。
想象一下,如果你要搬家,你需要打包你所有的物品和家具。Docker镜像就像是你打包好的物品清单,无论搬到哪里,只要按照清单来,你的家就能快速地布置好,而且每次搬家都使用相同的清单,确保了一致性和便捷性。

Docker镜像包含以下几个特点:

一致性:

镜像确保了无论在哪个机器上,应用的运行环境都是一致的,避免了“在我的机器上可以运行”的问题。

可移植性:

由于镜像包含了应用的所有依赖,它使得应用可以在任何安装了Docker的系统上运行。

版本控制:

像可以打上标签(tag),方便进行版本管理,可以轻松回滚到旧版本。

分层存储:

Docker镜像是由多个只读层组成的,每一层都是可复用的,这样可以节省存储空间,加快镜像构建和分发的速度。

自动化部署:

通过Dockerfile或Docker Hub等工具,可以自动化地构建和分发镜像,简化了部署流程。

检索:docker search

作用:

用于在Docker Hub或其他注册表中搜索镜像。帮助查找和获取所需的镜像,并提供对搜索结果进行过滤和排序的功能。

语法:
docker search [OPTIONS] TERM
常用选项:

–automated: 只列出 automated build类型的镜像;
–no-trunc: 显示完整的镜像描述;
-f <过滤条件>: 列出收藏数不小于指定值的镜像;
–limit: 限制返回的搜索结果数量,默认为25;
–format: 自定义打印格式。

示例:
  1. 搜索包含关键字 ubuntu 的镜像:
docker search ubuntu
  1. 限制返回的搜索结果数量,例如只返回前5个结果:
docker search --limit 5 ubuntu
  1. 过滤搜索结果,例如只返回stars数不低于50的镜像:
docker search --filter stars=50 ubuntu

下载:docker pull

作用:
  1. 从远程仓库下载镜像到本地。
  2. 如果本地已经存在该镜像,会检查仓库中是否有更新的版本,如果有,则更新本地镜像。
语法:
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
  1. NAME 是镜像的仓库名称。
  2. TAG 是可选的,指定要下载的镜像标签,默认为 latest。
  3. DIGEST 是镜像摘要,用于确保下载特定版本的镜像。
常用选项:
  1. -a, --all-tags:拉取指定仓库的所有标签的镜像。
  2. –disable-content-trust:在拉取镜像时禁用内容信任(即不验证镜像签名)。
示例:
  1. 下载最新版本的ubuntu镜像:
docker pull ubuntu

这会下载标签为 latest 的 ubuntu 镜像。

  1. 下载特定版本的ubuntu镜像:
docker pull ubuntu:18.04

这会下载 ubuntu 镜像的 18.04 版本。

  1. 下载特定仓库的所有镜像:
docker pull --all-tags ubuntu

这会下载 ubuntu 仓库下所有标签的镜像。

列表:docker image

作用:
  1. 列出本地Docker环境中的所有镜像。
  2. 显示镜像的详细信息,如镜像ID、创建时间、大小等
语法:
docker image [OPTIONS] [COMMAND]
  1. OPTIONS 是可选的参数,用于指定如何显示镜像列表。
  2. COMMAND 是要对镜像执行的操作,如 ls 列出镜像。
常用选项:
  1. -a, --all-tags:显示所有镜像,包括中间镜像。
  2. –digests:显示镜像摘要。
  3. –filter:根据提供的条件过滤镜像列表。
  4. –format:指定返回值的模板格式。
  5. –no-trunc:显示完整的镜像信息,不截断。
  6. -q, --quiet:仅显示镜像ID。
示例:
  1. 列出所有本地镜像:
docker image ls

这会列出本地所有镜像的默认信息。

  1. 列出所有镜像,包括中间镜像:
docker image ls --all-tags

这会显示所有镜像,包括用于构建其他镜像的中间镜像。

  1. 仅显示镜像ID:
docker image ls --quiet

这会输出所有镜像的ID列表。

  1. 过滤出特定的镜像:
docker image ls --filter "reference=ubuntu*"

这会列出所有以 ubuntu 开头的镜像。

  1. 显示镜像摘要:
docker image ls --digests

这会显示每个镜像的摘要信息。

  1. 自定义格式输出:
docker image ls --format "table {{.Repository}}\t{{.Tag}}\t{{.Size}}"

这会以表格形式显示镜像的仓库、标签和大小。

删除:docker rmi

作用:
  1. 删除本地Docker环境中不再需要的镜像。
语法:
docker rmi [OPTIONS] IMAGE [IMAGE...]
  1. OPTIONS 是可选的参数。
  2. IMAGE 是要删除的镜像的名称或ID。
常用选项:
  1. –force 或 -f:强制删除镜像,即使该镜像被一个或多个容器使用。
  2. –no-prune:不自动删除未标记的父镜像。
示例:
  1. 删除单个镜像:
docker rmi ubuntu:18.04

这将删除标签为 18.04 的 ubuntu 镜像。

  1. 删除多个镜像:
docker rmi ubuntu:18.04 nginx:latest

这将删除 ubuntu 的 18.04 版本和 nginx 的 latest 版本。

  1. 使用镜像ID删除:
docker rmi 1e5c1472ef3d

这将删除ID为 1e5c1472ef3d 的镜像。

  1. 强制删除镜像:
docker rmi --force ubuntu:18.04

如果 ubuntu:18.04 镜像被容器使用,使用 --force 选项可以强制删除它。

  1. 删除无用镜像:
docker image prune -a

虽然这不是 docker rmi 命令,但 docker image prune 命令可以删除所有未被任何容器使用的镜像,释放空间。

容器

docker容器相关操作

概念:

可以通俗地理解为一种轻量级的、可移植的、自给自足的软件运行环境。它好比是一个魔法盒子,里面装着一个软件应用的所有必需品,包括代码、运行时、库、环境变量和配置文件。想象一下,如果你要搬家,你需要打包你所有的物品和家具。Docker容器就像是你打包好的物品清单,无论搬到哪里,只要按照清单来,你的家就能快速地布置好,而且每次搬家都使用相同的清单,确保了一致性和便捷性。而且,每个房间(容器)都是独立的,不会互相干扰。

特点:

轻量级:

容器共享宿主机的内核,不需要像虚拟机那样模拟整个操作系统,因此启动速度快,资源占用少。

隔离性:

每个容器都是相互隔离的,有自己的文件系统、网络配置和进程空间,一个容器中的操作不会影响其他容器。

可移植性:

容器不依赖于特定的基础设施,可以在任何安装了Docker的机器上运行,实现了“一次构建,到处运行”。

一致性:

容器确保了开发、测试和生产环境的一致性,减少了“在我机器上可以运行”的问题。

易于管理:

Docker提供了一套完整的容器生命周期管理工具,包括创建、启动、停止、删除等。

版本控制和继承:

容器镜像支持版本控制,可以基于一个基础镜像,添加或修改内容来创建新的镜像。

自动化部署:

容器可以快速部署和扩展应用,适合微服务架构和持续集成/持续部署(CI/CD)的工作流程。

资源共享:

容器之间可以共享宿主机的资源,如CPU、内存和磁盘等,但每个容器都有独立的网络接口。

安全性:

容器提供了一定程度的隔离,但并不是完全安全的。使用容器时,还需要考虑应用安全和网络安全。

生态系统:

Docker拥有庞大的社区和生态系统,提供了大量的预构建镜像和工具,方便开发者使用。

运行:docker run

目录挂载+卷映射+批量删除
docker run与docker exec命令细节(以简单修改默认界面为例子)
作用:
  1. 从镜像创建一个新容器,并启动它。
  2. 如果镜像在本地不存在,会自动从配置的注册表下载。
语法:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
  1. OPTIONS 是可选的参数,用于设置容器的配置。
  2. IMAGE 是要运行的镜像的名称。
  3. COMMAND 是在容器内执行的命令(可选)。
  4. ARG… 是传递给 COMMAND 的参数(可选)。
常用选项:
  1. -d:以守护进程模式运行容器(后台运行)。
  2. –name:为容器指定一个名称。
  3. -p:端口映射,格式为 <宿主机端口>:<容器端口>。
  4. -e:设置环境变量。
  5. -v:挂载卷,用于数据持久化或共享,格式为 <宿主机目录>:<容器目录>。
  6. –rm:容器退出时自动清理容器文件系统。
  7. –network:指定容器的网络连接。
示例:
  1. 运行一个ubuntu容器并进入其bash shell:
docker run -it ubuntu bash

这将创建并启动一个基于 ubuntu 镜像的容器,并打开一个bash shell。

  1. 在后台运行nginx容器并映射端口:
docker run -d -p 8080:80 --name mynginx nginx

这将后台运行 nginx 容器,将容器的80端口映射到宿主机的8080端口,并给容器命名为 mynginx。

  1. 设置环境变量运行容器:
docker run -d -e "ENV_VAR=example" myimage

这将创建并启动一个容器,设置环境变量 ENV_VAR 的值为 example。

  1. 挂载卷运行容器:
docker run -d -v /host/data:/container/data myimage

这将创建并启动一个容器,并将宿主机的 /host/data 目录挂载到容器的 /container/data 目录。

  1. 使用自定义命令运行容器:
docker run -d myimage mycommand arg1 arg2

这将使用 myimage 镜像启动容器,并执行 mycommand 命令,传递 arg1 和 arg2 作为参数。

  1. 清理退出的容器:
docker run --rm -d myimage

这将创建并启动一个容器,容器退出后自动删除容器文件系统。

查看:docker ps

作用:
  • 显示本地Docker环境中正在运行的容器的列表。
语法:

docker ps [OPTIONS]

常用选项:
  1. -a, --all:显示所有容器(包括未运行的)。
  2. –latest:仅显示最近创建的容器。
  3. -n=INTEGER:仅显示最新启动的 INTEGER 个容器。
  4. -q, --quiet:仅显示容器的数字ID。
  5. –no-trunc:显示完整的容器信息,不截断。
  6. –filter:根据条件过滤容器。
示例:
  1. 查看正在运行的容器:
docker ps

这将列出所有当前正在运行的容器。

  1. 查看所有容器(包括未运行的):
docker ps -a

这将显示所有容器,无论它们是否正在运行。

  1. 仅显示最新启动的容器:
docker ps --latest

这将只显示最近创建的容器。

  1. 查看最新启动的3个容器:
docker ps -n 3

这将只显示最新启动的3个容器。

  1. 仅显示容器ID:
docker ps -q

这将只显示正在运行的容器的ID。

  1. 查看特定状态的容器:
docker ps --filter "status=running"

这将只显示状态为 running 的容器。

  1. 查看特定命名的容器:
docker ps --filter "name=webserver"

这将只显示名称包含 webserver 的容器。

停止:docker stop

作用:
  1. 发送停止信号到容器,让容器优雅地关闭。
语法:
docker stop [OPTIONS] CONTAINER [CONTAINER...]
  1. OPTIONS 是可选的参数。
  2. CONTAINER 是要停止的容器的名称或ID。
常用选项:
  1. -t:设置停止容器前的超时时间(以秒计)。默认为 10 秒。
  2. –time:与 -t 类似,用于设置超时时间。
示例:
  1. 停止名为 mycontainer 的容器:
docker stop mycontainer

这将发送停止信号给名为 mycontainer 的容器。

  1. 停止多个容器:
docker stop mycontainer1 mycontainer2

这将停止 mycontainer1 和 mycontainer2 这两个容器。

  1. 设置停止容器的超时时间:
docker stop -t 30 mycontainer

这将设置超时时间为 30 秒,如果容器在 30 秒内没有响应停止信号,Docker 将强制停止它。

  1. 使用容器ID停止容器:
docker stop $(docker ps -aq)

这个命令会停止所有正在运行的容器。docker ps -aq 会列出所有容器的ID,然后 docker stop 将使用这些ID来停止它们。

启动:docker start

作用:
  1. 重新启动一个或多个之前已经被停止的容器

语法:
docker start [OPTIONS] CONTAINER [CONTAINER...]
  1. OPTIONS 是可选的参数(此命令没有特定的选项)。
  2. CONTAINER 是要启动的容器的名称或ID。
常用选项:
  1. 此命令没有特定的选项,但可以使用 Docker 通用选项,如 --help 查看帮助信息。
示例:
  1. 启动名为 mycontainer 的容器:
docker start mycontainer

如果 mycontainer 是之前已经停止的容器,这个命令将重新启动它。

  1. 启动多个容器:
docker start mycontainer1 mycontainer2

这将重新启动 mycontainer1 和 mycontainer2 这两个容器。

  1. 列出所有停止的容器并启动它们:
docker start $(docker ps -aq -f status=exited)

这个命令会列出所有已停止的容器,并重新启动它们。docker ps -aq -f status=exited 会获取所有已停止容器的ID。

重启:docker restart

作用:
  1. 重启一个或多个正在运行的容器,或者如果它们当前没有运行,则启动它们。
语法:
docker restart [OPTIONS] CONTAINER [CONTAINER...]
  1. OPTIONS 是可选的参数。
  2. CONTAINER 是要重启的容器的名称或ID。
常用选项:

-t:设置重启前的超时时间(以秒计)。默认为 10 秒内容器必须响应停止信号。

示例:
  1. 重启名为 mycontainer 的容器:
docker restart mycontainer

这将重启名为 mycontainer 的容器。

  1. 重启多个容器:
docker restart mycontainer1 mycontainer2

这将重启 mycontainer1 和 mycontainer2 这两个容器。

  1. 设置超时时间重启容器:
docker restart -t 20 mycontainer

这将设置超时时间为 20 秒,如果容器在 20 秒内没有响应重启信号,Docker 将强制重启它。

状态:docker stats

作用:
  1. 用于实时显示容器的资源使用情况,包括CPU、内存、网络I/O等信息
语法:
docker stats [OPTIONS] [CONTAINER...]
  1. OPTIONS 是可选的参数。
  2. CONTAINER 是指定的容器名称或ID,如果不指定,则显示所有容器的统计信息。
常用选项:
  1. -a, --all:显示所有容器的统计信息,包括未运行的容器的网络流量。
  2. –no-stream:禁用实时更新,只打印一次统计信息。
示例:
  1. 显示所有容器的资源使用情况:
docker stats

这将实时显示所有容器的CPU、内存、网络I/O等资源使用情况。

  1. 显示特定容器的资源使用情况:
docker stats mycontainer

这将只显示名为 mycontainer 的容器的资源使用情况。

  1. 显示所有容器的网络流量:
docker stats -a

这将显示所有容器的网络发送和接收的数据量。

  1. 一次性显示所有容器的资源使用情况:
docker stats --no-stream

这将一次性显示所有容器的资源使用情况,而不是持续更新。

日志:docker logs

作用:
  1. 获取容器的日志信息,包括标准输出(stdout)和标准错误(stderr)。
语法:
docker logs [OPTIONS] CONTAINER
  1. OPTIONS 是可选的参数,用于定制日志输出。
  2. CONTAINER 是要获取日志的容器的名称或ID。
常用选项:
  1. -f, --follow:跟随日志输出,实时显示新的日志条目。
  2. -t, --time:显示每条日志的时间戳。
  3. –tail:仅显示最后几行日志;默认为所有日志,或可以使用具
  4. 体数字指定行数,如 --tail “all” 或 --tail “100”。
  5. –details:显示日志的完整信息,如容器ID等。
示例:
  1. 获取容器的所有日志:
docker logs mycontainer

这将显示容器 mycontainer 的所有日志。

  1. 实时跟踪容器的日志输出:
docker logs -f mycontainer

使用 -f 选项将实时显示容器 mycontainer 的日志输出。

  1. 显示带时间戳的日志:
docker logs -t mycontainer

使用 -t 选项将显示每条日志的时间戳。

  1. 获取容器最后的N行日志:
docker logs --tail 10 mycontainer

这将显示容器 mycontainer 最后的10行日志。

  1. 显示容器的详细日志信息:
docker logs --details mycontainer

使用 --details 选项将显示日志的完整信息,如源容器的ID等。

进入:docker exec

作用:
  1. 用于在运行中的容器内执行新的命令或交互式shell。
  2. 在已运行的容器内执行命令。
  3. 进入容器的命令行界面,进行交互式操作。
语法:
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
  1. OPTIONS 是可选的参数,用于定制命令执行的环境
  2. CONTAINER 是要执行命令的容器的名称或ID。
  3. COMMAND 是要在容器内执行的命令。
  4. ARG… 是传递给 COMMAND 的参数。
常用选项:
  1. -it:分配一个伪终端并保持标准输入开放,通常用于交互式shell。
  2. –detach 或 -d:以守护进程模式运行命令。
  3. –user 或 -u:以指定的用户身份执行命令。
示例:
  1. 在容器内执行交互式bash shell:
docker exec -it mycontainer bash

这将分配一个伪终端并打开容器 mycontainer 的交互式bash shell。

  1. 在容器内执行特定的命令:
docker exec mycontainer ls -l /

这将在容器 mycontainer 内执行 ls -l / 命令,列出容器根目录下的文件和目录。

  1. 以特定用户身份执行命令:
docker exec -u root mycontainer whoami

这将以 root 用户身份在容器 mycontainer 内执行 whoami 命令。

  1. 后台运行命令:
docker exec -d mycontainer my_command

这将以守护进程模式在容器 mycontainer 内执行 my_command。

  1. 使用环境变量:
docker exec -e "MY_ENV_VAR=value" mycontainer env

这将在容器 mycontainer 内执行 env 命令,并设置环境变量 MY_ENV_VAR。

删除:docker rm

作用:
  1. 删除指定的Docker容器。
语法:
docker rm [OPTIONS] CONTAINER [CONTAINER...]
  1. OPTIONS 是可选的参数。
  2. CONTAINER 是要删除的容器的名称或ID。
常用选项:
  1. -f, --force:强制删除容器,即使容器当前正在运行。
  2. –link:删除容器的链接。
  3. –volumes 或 -v:删除容器创建的卷
示例:
  1. 删除名为 mycontainer 的容器:
docker rm mycontainer

这将删除名为 mycontainer 的容器。

  1. 删除多个容器:
docker rm mycontainer1 mycontainer2

这将删除 mycontainer1 和 mycontainer2 这两个容器。

  1. 强制删除正在运行的容器:
docker rm -f mycontainer

使用 -f 选项将强制删除正在运行的容器 mycontainer。

  1. 删除容器并移除其挂载的卷:
docker rm -v mycontainer

使用 -v 选项将删除容器 mycontainer 及其挂载的卷。

  1. 使用容器ID删除容器:
docker rm $(docker ps -aq)

这个命令会删除所有正在运行的容器。docker ps -aq 会列出所有容器的ID,然后 docker rm 将使用这些ID来删除它们。

分享

分享至社区
镜像的保存

提交:docker commit

作用:
  1. 用于从更改过的容器实例中创建一个新的Docker镜像。这允许你保存对容器的更改,例如安装新的软件包或更新应用配置,并将这些更改作为新的镜像保存下来。
  2. 从更改过的容器创建一个新的镜像。
语法:
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
  1. OPTIONS 是可选的参数,用于定制创建镜像的行为。
  2. CONTAINER 是要提交的容器的名称或ID。
  3. REPOSITORY 是新创建镜像的仓库名称。
  4. TAG 是可选的,用于给镜像指定一个标签。
常用选项:
  1. -a 或 --author:设置镜像的作者字段。
  2. -c 或 --change:应用Dockerfile指令来创建镜像。
  3. -m 或 --message:提交时的说明信息。
  4. -p 或 --pause:提交时暂停容器运行(默认为true)。
示例:
  1. 提交容器为新镜像:
docker commit mycontainer mynewimage

这将把容器 mycontainer 提交为一个新的镜像,命名为 mynewimage。

  1. 提交容器并设置作者:
docker commit -a "Author Name" mycontainer mynewimage

使用 -a 选项设置镜像的作者为 Author Name。

  1. 提交容器并附加说明信息:
docker commit -m "Description of changes" mycontainer mynewimage

使用 -m 选项添加提交时的说明信息。

  1. 使用Dockerfile指令定制提交过程:
docker commit -c 'CMD ["apache2", "-DFOREGROUND"]' mycontainer mywebimage

使用 -c 选项添加Dockerfile指令,例如设置启动命令。

  1. 提交容器并指定标签:
docker commit mycontainer mynewimage:v1.0

这将提交容器并给镜像指定标签 v1.0。

保存:docker save

作用:
  1. 用于将一个或多个Docker镜像保存为一个tar归档文件,这可以用于备份镜像或将镜像传输到其他机器上。
  2. 将镜像保存为tar归档文件,以便备份或迁移。
语法:
docker save [OPTIONS] IMAGE [IMAGE...]
  1. OPTIONS 是可选的参数。
  2. IMAGE 是要保存的镜像的名称或ID。
常用选项:
  1. -o 或 --output:指定输出文件的路径和名称
示例:
  1. 保存镜像到默认的归档文件:
docker save myimage:latest

这将保存标签为 latest 的 myimage 镜像到默认的归档文件名。

  1. 保存多个镜像到单个归档文件:
docker save myimage:latest myimage:v1.0 > myimages.tar

这将保存 myimage 的两个标签到同一个归档文件 myimages.tar。

  1. 指定输出文件保存镜像:
docker save -o myimage.tar myimage:latest

使用 -o 选项指定输出文件名为 myimage.tar。

  1. 保存所有标签的镜像:
docker save --all-tags myimage > myimage_all_tags.tar

使用 --all-tags 选项保存 myimage 仓库的所有标签到归档文件。

  1. 保存特定摘要的镜像:
docker save myimage@sha256:abcdef123456... >myimage_digest.tar

这将保存具有特定摘要的 myimage 镜像到归档文件。

加载:docker load

作用:
  1. 用于从tar归档文件中加载一个或多个Docker镜像,这通常用于将之前保存的镜像恢复到Docker环境中。
语法:
docker load [OPTIONS]
  1. OPTIONS 是可选的参数,用于定制加载行为。
常用选项:
  1. –input 或 -i:指定要加载的tar归档文件的路径。如果不指定,docker load 将从标准输入读取。
示例:
  1. 从标准输入加载镜像:
cat myimage.tar | docker load

这将从 myimage.tar 文件中加载镜像。如果文件是当前目录下,可以使用 cat 命令将文件内容传输到 docker load。

  1. 使用 --input 选项加载镜像:
docker load --input myimage.tar

使用 --input 选项指定要加载的归档文件。

  1. 从远程URL加载镜像:
docker load --input https://example.com/path/to/myimage.tar

如果tar文件位于远程URL,可以使用 --input 选项直接从URL加载。

  1. 从本地文件系统加载镜像:
docker load --input /path/to/myimage.tar

使用 --input 选项指定本地文件系统上的归档文件路径。

登录:docker login

作用:
  1. 用于登录到Docker注册表,通常是Docker Hub,这样你就可以推送(push)和拉取(pull)镜像。
语法:
docker login [OPTIONS] [SERVER]
  1. OPTIONS 是可选的参数,用于定制登录行为。
  2. SERVER 是可选的,指定要登录的Docker注册表地址,默认为 Docker Hub。
常用选项:
  1. -u 或 --username:指定用户名。
  2. -p 或 --password:指定密码。
  3. –email:指定用户的电子邮件地址。
示例:
  1. 登录到Docker Hub:
docker login

这将提示你输入用户名和密码。

  1. 使用用户名和密码登录:
docker login --username=yourusername --password=yourpassword

使用 -u 和 -p 选项直接在命令中指定用户名和密码。

  1. 登录到私有注册表:
docker login myprivateregistry.example.com

这将登录到指定的私有Docker注册表。

  1. 使用电子邮件地址登录:
docker login --username=yourusername --password=yourpassword --email=youremail@example.com

使用 --username、–password 和 --email 选项指定完整的登录信息。

命名:docker tag

作用:
  1. 用于给现有镜像创建一个新的标签(tag),这通常用于准备将镜像推送到Docker注册表或仅仅是为了在本地更好地组织镜像。
语法:
docker tag [OPTIONS] IMAGE[:TAG] [TARGET-REPOSITORY[:TAG]]
  1. OPTIONS 是可选的参数。
  2. IMAGE 是原始镜像的名称。
  3. TAG 是原始镜像的标签,如果未指定,默认标签是 latest。
  4. TARGET-REPOSITORY 是新标签的目标仓库名称。
  5. TARGET-TAG 是新标签的标签名,可以是版本号或任何自定义标签。
常用选项:
  1. 此命令没有特定的选项,但可以使用 Docker 通用选项,如 --help 查看帮助信息
示例:
  1. 给本地镜像添加新标签:
docker tag myimage:latest myimage:v1.0

这将给标签为 latest 的 myimage 镜像添加一个新标签 v1.0。

  1. 给镜像添加默认标签:
docker tag myimage:v1.0 mynewimage

这将把 myimage 镜像的 v1.0 标签重命名为 mynewimage,实际上是创建了一个新的标签指向相同的镜像内容。

  1. 准备将镜像推送到远程仓库:
docker tag myimage:latest username/myimage:latest

这将把本地的 myimage 镜像标记为 username/myimage,准备推送到以 username 命名的 Docker Hub 账户。

  1. 使用完整仓库名称和新标签:
docker tag myimage:latest myregistry.example.com/myimage:v1.0

这将创建一个新的标签,指向私有仓库 myregistry.example.com 中的 myimage 镜像,并设置标签为 v1.0。

推送:docker push

作用:
  1. 用于将本地的Docker镜像推送到远程Docker注册表,如Docker Hub、私有注册表等。这允许其他人拉取并使用你推送的镜像。
语法:
docker push [OPTIONS] NAME[:TAG]
  1. OPTIONS 是可选的参数,用于定制推送行为。
  2. NAME 是要推送的镜像的仓库名称。
  3. TAG 是可选的,指定要推送的镜像标签;如果不指定,将推送所有标签。
常用选项:
  1. –disable-content-trust:禁用内容信任,不签名推送的镜像。
  2. –quiet 或 -q:静默模式,不显示详细输出。 实战应用示例
示例:
  1. 推送镜像到Docker Hub:
docker push username/myimage:latest

这将推送 username/myimage 镜像的 latest 标签到Docker Hub。

  1. 推送所有标签的镜像:
docker push username/myimage

如果镜像有多个标签,这将推送 username/myimage 仓库的所有标签。

  1. 静默模式推送镜像:
docker push --quiet username/myimage:v1.0

使用 --quiet 选项推送镜像,不显示过程信息。

  1. 禁用内容信任推送镜像:
docker push --disable-content-trust username/myimage:latest

使用 --disable-content-trust 选项推送镜像,不进行内容签名。

  • 11
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值