docker命令详解

目录

docker 命令详解

下面是一些常用的 Docker 命令的详细解释:

docker build

docker run

docker pull

docker push

docker images

docker ps

docker stop

docker rm

docker rmi

docker exec


docker 命令详解


Docker 是一个开源的容器化平台,可以帮助开发人员和系统管理员更轻松地构建、部署和运行应用程序。

下面是一些常用的 Docker 命令的详细解释

1.docker build:用于构建 Docker 镜像。你需要在一个包含 Dockerfile 的目录下运行该命令,它将根据 Dockerfile 中的指令构建一个镜像。
2.docker run:用于运行 Docker 容器。可以使用该命令在容器中启动一个新的镜像,并可以指定一些选项,如端口映射、环境变量等。
3.docker pull:用于从 Docker 仓库中拉取镜像到本地。该命令会下载指定镜像的最新版本到本地机器,以供后续使用。
4.docker push:用于将本地的镜像推送到远程的 Docker 仓库。你需要先登录到仓库,然后使用该命令将本地镜像上传至仓库,以便其他人可以访问和使用它。
5.docker images:列出本地机器上的所有镜像。该命令会显示已下载到本地的所有镜像列表,包括镜像的名称、标签、大小等信息。
6.docker ps:列出当前正在运行的容器。该命令会显示正在运行的容器的列表,包括容器的 ID、名称、状态等信息。
7.docker stop:停止指定的容器。通过该命令可以停止一个正在运行的容器,你需要提供容器的 ID 或名称作为参数。
8.docker rm:删除指定的容器。通过该命令可以删除已停止的容器,你需要提供容器的 ID 或名称作为参数。
9.docker rmi:删除指定的镜像。通过该命令可以删除本地机器上的镜像,你需要提供镜像的 ID 或名称作为参数。
10.docker exec:在正在运行的容器中执行命令。通过该命令可以在容器内部执行指定的命令,你需要提供容器的 ID 或名称以及要执行的命令。

这些是 Docker 的一些基本命令,还有很多其他命令和选项可以用于更复杂的容器操作和管理。你可以使用 docker --help 或 docker --help 来获取更多关于特定命令的详细信息。


docker build

docker build命令用于根据 Dockerfile 构建一个 Docker 镜像。Dockerfile 是一个文本文件,其中包含了一系列的指令,用于定义镜像的构建步骤和配置。下面是docker build命令的基本语法和使用方法:

基本语法:
docker build [OPTIONS] PATH | URL | -
常用选项:

-t, --tag:为镜像指定一个标签。
-f, --file:指定要使用的 Dockerfile 文件的路径。
--build-arg:设置构建过程中使用的构建参数。

使用示例:

1.在当前目录下构建镜像:
docker build -t image_name .
这将使用当前目录中的 Dockerfile 构建一个名为 image_name 的镜像。

2.指定 Dockerfile 文件路径:
docker build -t image_name -f /path/to/Dockerfile .
使用 -f 选项可以指定使用的 Dockerfile 文件的路径。

3.为镜像添加标签:
docker build -t image_name:tag .
使用 :tag 可以为镜像添加一个标签,方便对不同版本或不同配置的镜像进行管理。

4.设置构建参数:
docker build --build-arg key=value .
使用 --build-arg 可以设置构建过程中使用的构建参数,可以在 Dockerfile 中通过 ${key} 的方式引用这些参数。

在执行 docker build 命令时,Docker 会按照 Dockerfile 中的指令顺序逐步构建镜像。每个指令都会创建一个中间镜像层,这些层可以被重复使用,从而提高构建效率。

构建镜像可能需要一些时间,取决于镜像的大小和构建过程中的操作。构建完成后,你可以使用 docker images 命令查看本地机器上的镜像列表,其中应该包含你刚刚构建的镜像。

请注意,在构建镜像之前,你需要确保在构建环境中有适当的权限和配置,以及正确的 Dockerfile 文件。


docker run

docker run命令用于在 Docker 容器中运行一个新的镜像。下面是docker run命令的基本语法和使用方法:

基本语法:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

常用选项:
-d, --detach:以后台(detached)模式运行容器。
-p, --publish:进行端口映射,将容器的端口映射到宿主机的端口。
-v, --volume:挂载数据卷,将宿主机的目录或文件与容器中的目录或文件进行共享。
-e, --env:设置环境变量。
--name:为容器指定一个名称。
--rm:容器停止后自动删除。

使用示例:

1.运行一个镜像:
docker run image_name
这将在一个新的容器中运行名为 image_name 的镜像,默认情况下会执行镜像中的默认命令。

2.在后台运行一个容器:
docker run -d image_name
使用 -d 选项后,容器将以后台模式运行,即守护进程模式。

3.进行端口映射:
docker run -p host_port:container_port image_name
使用 -p 选项可以将容器内部的端口映射到宿主机上的端口,将 container_port 映射到 host_port。

4.挂载数据卷:
docker run -v host_path:container_path image_name
使用 -v 选项可以将宿主机上的目录或文件与容器内部的目录或文件进行共享,将 host_path 挂载到 container_path。

5.设置环境变量:
docker run -e key=value image_name
使用 -e 选项可以设置容器内部的环境变量,将 key 设置为 value。

6.指定容器名称:
docker run --name container_name image_name
使用 --name 选项可以为容器指定一个名称,将容器命名为 container_name。

7.容器停止后自动删除:
docker run --rm image_name
使用 --rm 选项可以在容器停止后自动删除容器。

这些示例展示了一些常见的 docker run 命令用法。你可以根据自己的需求,结合不同的选项和参数来运行和配置容器。记住,在运行镜像之前,确保已经下载并存在所需的镜像。

示例参考:【Docker系列】从头学起 Docker——docker run 命令详解_搞什么滚去学习的博客-CSDN博客uroot是给了root用户身份,但并没有真正的root权限真正让当前用户有了root权限若想要最高的权限,两者可以结合使用。_docker runhttps://blog.csdn.net/qq_45547688/article/details/125785419


docker pull

docker pull命令用于从 Docker 仓库中拉取(下载)一个或多个 Docker 镜像到本地机器。以下是docker pull命令的基本语法和使用方法:

基本语法:
docker pull [OPTIONS] NAME[:TAG|@DIGEST]

常用选项:
-a, --all-tags:拉取指定镜像的所有标签。
--disable-content-trust:禁用内容信任,不验证镜像的签名。
--platform:指定要拉取的镜像所在的平台。

使用示例:

1.拉取一个镜像:
docker pull image_name
这将从默认的 Docker 仓库中拉取名为 image_name 的镜像的最新版本。

2.拉取特定标签的镜像:
docker pull image_name:tag
使用 :tag 可以拉取指定镜像名称和标签的镜像版本。

3.拉取指定平台的镜像:
docker pull --platform linux/amd64 image_name
使用 --platform 选项可以指定要拉取的镜像所在的平台。这在多平台环境下很有用,可以根据需要拉取特定平台的镜像。

4.拉取所有标签的镜像:
docker pull --all-tags image_name
使用 -a 或 --all-tags 选项可以拉取指定镜像的所有标签,而不仅仅是最新版本。

5.禁用内容信任:
docker pull --disable-content-trust image_name
使用 --disable-content-trust 选项可以禁用内容信任,不对拉取的镜像进行签名验证。

请注意,拉取镜像可能需要一些时间,具体取决于镜像的大小和网络连接速度。在拉取镜像之前,确保已经正确设置了 Docker 配置,并且可以访问所需的 Docker 仓库。

拉取镜像后,你可以使用 docker images 命令查看本地机器上的镜像列表,包括你刚刚拉取的镜像。


docker push

docker push命令用于将本地机器上的一个或多个 Docker 镜像推送(上传)到远程的 Docker 仓库。以下是docker push命令的基本语法和使用方法:

基本语法:
docker push [OPTIONS] NAME[:TAG]

常用选项:
--disable-content-trust:禁用内容信任,不对推送的镜像进行签名。
--platform:指定要推送的镜像所在的平台。

使用示例:

1.推送一个镜像:
docker push image_name
这将把名为 image_name 的镜像推送到默认的 Docker 仓库中。

2.推送特定标签的镜像:
docker push image_name:tag
使用 :tag 可以推送指定镜像名称和标签的镜像版本。

3.推送指定平台的镜像:
docker push --platform linux/amd64 image_name
使用 --platform 选项可以指定要推送的镜像所在的平台。这在多平台环境下很有用,可以根据需要推送特定平台的镜像。

4.禁用内容信任:
docker push --disable-content-trust image_name
使用 --disable-content-trust 选项可以禁用内容信任,不对推送的镜像进行签名。

请注意,推送镜像之前,确保已经登录到要推送的远程 Docker 仓库,以及具有相应的推送权限。你可以使用 docker login 命令进行登录。另外,也要确保本地机器可以访问远程仓库。

推送镜像可能需要一些时间,具体取决于镜像的大小和网络连接速度。推送完成后,你可以在远程仓库中查看并使用刚刚推送的镜像。

请注意,推送到公共 Docker 仓库(如 Docker Hub)可能需要在镜像名称前添加你的用户名作为前缀,例如 username/image_name。而对于私有仓库,可能需要添加完整的仓库 URL 和镜像名称,例如 registry.example.com/username/image_name。


docker images

docker images命令用于列出本地机器上的所有 Docker 镜像。以下是docker images命令的基本语法和使用方法:

基本语法:
docker images [OPTIONS] [REPOSITORY[:TAG]]

常用选项:
-a, --all:显示所有镜像,包括中间镜像。
--digests:显示镜像的摘要信息。
--format:指定输出的格式。

使用示例:

1.列出所有镜像:
docker images
这将列出本地机器上的所有 Docker 镜像,包括仓库名称、标签、镜像 ID、创建时间和大小等信息。

2.指定仓库和标签:
docker images repository:tag
使用 repository:tag 可以过滤并只显示指定仓库和标签的镜像。

3.显示所有镜像,包括中间镜像:
docker images -a
使用 -a 或 --all 选项可以显示所有镜像,包括被标记为中间镜像的镜像。

4.显示镜像的摘要信息:
docker images --digests
使用 --digests 选项可以显示镜像的摘要信息,包括摘要 ID。

5.指定输出的格式:
docker images --format "{{.Repository}}:{{.Tag}}"
使用 --format 选项可以指定输出的格式。在示例中,输出仅显示仓库名称和标签。

请注意,如果没有提供特定的仓库和标签参数,docker images 命令将列出所有镜像的信息。你可以使用各种选项和过滤器来进一步定制输出,以满足你的需求。

通过 docker images 命令,你可以查看本地机器上的镜像列表,并获取关于镜像的相关信息,如名称、标签、ID、创建时间和大小等。这对于管理和使用镜像非常有用。

docker ps

docker ps命令用于列出当前正在运行的 Docker 容器。以下是docker ps命令的基本语法和使用方法:

基本语法:
docker ps [OPTIONS]

常用选项:
-a, --all:显示所有容器,包括停止的容器。
-q, --quiet:只显示容器的 ID。
--filter:根据指定的条件过滤容器。

使用示例:

1.列出当前正在运行的容器:
docker ps
这将列出当前正在运行的 Docker 容器的列表,包括容器的 ID、名称、镜像名称、状态、启动时间和所使用的端口等信息。

2.只显示容器的 ID:
docker ps -q
使用 -q 或 --quiet 选项可以只显示容器的 ID。

3.显示所有容器,包括停止的容器:
docker ps -a
使用 -a 或 --all 选项可以显示所有容器,包括停止的容器。

4.根据条件过滤容器:
docker ps --filter "status=running"
使用 --filter 选项可以根据指定的条件对容器进行过滤。在示例中,只显示状态为 "running" 的容器。

通过 docker ps 命令,你可以查看当前正在运行的 Docker 容器的列表,并获取容器的相关信息。这对于管理和监控容器非常有用。如果要查看所有容器(包括停止的容器),可以使用 -a 或 --all 选项。使用 --filter 选项可以根据条件过滤容器列表,以便获取特定状态或属性的容器。


docker stop

docker stop命令用于停止正在运行的 Docker 容器。以下是docker stop命令的基本语法和使用方法:

基本语法:
docker stop [OPTIONS] CONTAINER [CONTAINER...]

常用选项:
-t, --time:指定停止容器前的超时时间(默认为10秒)。

使用示例:

1.停止单个容器:
docker stop container_id
这将停止具有指定容器 ID 的容器。

2.停止多个容器:
docker stop container_id1 container_id2
这将同时停止多个具有指定容器 ID 的容器。

3.指定超时时间:
docker stop -t seconds container_id
使用 -t 选项可以指定停止容器前的超时时间(以秒为单位)。如果容器在指定的超时时间内没有停止,Docker 将发送一个强制停止的信号。

请注意,你可以使用容器的 ID 或名称来指定要停止的容器。使用 docker ps 命令可以查看当前正在运行的容器列表以获取容器的 ID 和名称。

当容器被停止后,其运行状态将变为停止状态,不再占用资源或执行任务。你可以使用 docker ps 命令来验证容器是否已经停止。

请确保在停止容器之前保存或处理容器中的任何重要数据,因为容器停止后,容器中的数据将不再保留。


docker rm

docker rm命令用于删除一个或多个停止状态的 Docker 容器。以下是docker rm命令的基本语法和使用方法:

基本语法:
docker rm [OPTIONS] CONTAINER [CONTAINER...]

常用选项:
-f, --force:强制删除正在运行的容器。
-v, --volumes:同时删除与容器关联的挂载的卷。

使用示例:

1.删除单个容器:
docker rm container_id
这将删除具有指定容器 ID 的停止状态容器。

2.删除多个容器:
docker rm container_id1 container_id2
这将同时删除多个具有指定容器 ID 的停止状态容器。

3.强制删除正在运行的容器:
docker rm -f container_id
使用 -f 或 --force 选项可以强制删除正在运行的容器。请谨慎使用此选项,因为它会直接终止容器并删除它。

4.删除容器及其关联的挂载的卷:
docker rm -v container_id
使用 -v 或 --volumes 选项可以同时删除容器及其关联的挂载的卷。

请注意,在删除容器之前,请确保你不再需要其中的任何重要数据或配置。一旦容器被删除,其相关的数据和设置将无法恢复。

使用 docker ps -a 命令可以列出所有容器(包括停止状态的容器),你可以使用容器的 ID 或名称来指定要删除的容器。

如果要删除正在运行的容器,可以结合使用 docker stop 和 docker rm 命令,先停止容器,然后再删除它。


docker rmi

docker rmi命令用于删除本地机器上的一个或多个 Docker 镜像。以下是docker rmi命令的基本语法和使用方法:

基本语法:
docker rmi [OPTIONS] IMAGE [IMAGE...]

常用选项:
-f, --force:强制删除镜像,即使它被其他容器所使用。
-a, --all:删除所有本地镜像,包括被标记为中间镜像的镜像。

使用示例:

1.删除单个镜像:
docker rmi image_name
这将删除本地机器上名称为image_name的镜像。

2.删除多个镜像:
docker rmi image1 image2 image3
这将删除本地机器上指定名称的多个镜像。

3.强制删除镜像:
docker rmi -f image_name
使用-f选项可以强制删除镜像,即使它被其他容器所使用。

4.删除所有本地镜像:
docker rmi -a
使用-a选项将删除本地机器上的所有镜像,包括被标记为中间镜像的镜像。

请注意,在删除镜像之前,请确保你不再需要它,并且没有其他容器在使用该镜像。如果你尝试删除正在运行的镜像,将会出现错误。你可以使用docker ps命令来查看正在运行的容器,然后停止或删除它们,然后再执行docker rmi命令删除镜像。

在删除镜像之后,它将不再在本地机器上可用,你需要重新拉取(使用docker pull命令)或构建(使用docker build命令)镜像,如果需要再次使用它。


docker exec

docker exec命令用于在正在运行的 Docker 容器内部执行命令。以下是docker exec命令的基本语法和使用方法:

基本语法:
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

常用选项:
-i, --interactive:保持标准输入打开,以便与容器进行交互。
-t, --tty:为容器分配一个伪终端(pseudo-TTY),使得你可以使用终端命令。
-d, --detach:以后台模式运行命令。
-e, --env:设置环境变量。

使用示例:

1.在容器内部执行命令:
docker exec container_id command
这将在具有指定容器 ID 的容器内部执行给定的命令。

2.在交互模式下执行命令:
docker exec -it container_id command
使用 -it 选项可以在交互模式下执行命令,保持标准输入打开,使你可以与容器进行交互。

3.在容器内部执行后台命令:
docker exec -d container_id command
使用 -d 选项可以以后台模式在容器内部执行命令。

4.设置环境变量并执行命令:
docker exec -e key=value container_id command
使用 -e 选项可以设置容器内部的环境变量,并在容器中执行命令。

请注意,在执行docker exec命令时,容器必须是正在运行的状态。你可以使用docker ps命令查看当前正在运行的容器,并获取容器的 ID 或名称。

docker exec命令允许你在容器内部执行各种命令,如运行脚本、查看日志、执行诊断命令等。通过与容器交互,你可以在容器中进行各种操作,以满足特定的需求。
 

你可能感兴趣的:(docker,docker)