Docker 已经成为现代应用程序开发和部署的行业标准。它借助容器化技术,提供了一种轻量、可移植和可扩展的方式来构建、发布和运行应用程序。然而,最近我在工作中发现,一些家人们对 Docker 容器的操作命令还不太熟悉。因此,本文旨在深入介绍 Docker 容器操作的各个方面,包括对每个命令及其参数的详细解释。希望通过这篇文章,我们可以一起探讨和学习,进一步提高对 Docker 的理解和应用能力。

创建容器
创建容器有两种方式docker run
和 docker creat
-
docker run
docker run 命令首先会在 Docker 主机上查找指定的容器镜像。如果镜像不存在,Docker 将从 Docker Hub 或其他镜像仓库下载它。一旦找到或下载了镜像,Docker 将根据该镜像创建一个新的容器实例。一旦容器创建完成,docker run 命令将会启动容器。
docker run 命令的基本语法如下:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
-
OPTIONS:可选参数,用于配置容器的各种属性。 -
IMAGE:必需参数,指定要运行的容器镜像。 -
COMMAND:可选参数,覆盖容器中定义的默认命令。 -
ARG…:可选参数,传递给容器中的命令的参数。
下面是一些常见的 docker run 参数和选项:
-
-i 或 –interactive:以交互模式运行容器,允许用户输入。 -
-t 或 –tty:分配伪终端 (pseudo-TTY),通常与 -i 一起使用以支持交互性。 -
-d 或 –detach:以后台模式运行容器,不占用当前终端。 -
–name:为容器指定一个名称。 -
–rm:容器停止后自动删除容器。 -
-e 或 –env:设置环境变量。 -
-p 或 –publish:将容器端口映射到主机端口。 -
-v 或 –volume:挂载主机文件或目录到容器中。 -
–network:指定容器连接的网络。 -
–link:连接到另一个容器。 -
–entrypoint:覆盖容器中定义的默认入口点。 -
–restart: Docker 容器的重启策略的选项。
例如,要以交互式终端模式运行一个名为 xj_pandora 的容器,使用xj/pandora:1. 镜像,可以运行以下命令:
docker run -itd -p 8899:8899 --name xj_pandora -e PUID=0 -e PGID=0 -e PANDORA_SERVER=0.0.0.0:8899 -e PANDORA_CLOUD=cloud -e TZ=Asia/Shanghai --restart=always xj/pandora:1.0
-
docker creat
docker create
命令不是一个常用的命令,而且它通常与其他命令一起使用。docker create
的主要作用是创建一个新的容器,但并不启动该容器。它返回容器的唯一标识符(容器ID),然后你可以使用其他命令来进一步配置和启动这个容器。
以下是 docker create 命令的基本语法和选项:
docker create [OPTIONS] IMAGE [COMMAND] [ARG...]
-
OPTIONS:可选参数,用于配置容器的各种属性。 -
IMAGE:必需参数,指定要使用的容器镜像。 -
COMMAND:可选参数,覆盖容器中定义的默认命令。 -
ARG…:可选参数,传递给容器中的命令的参数。
它的参数和选项和docker run 大同小异
启动、停止和删除容器
-
启动容器
已创建的容器可以使用 docker start 命令启动:
docker start container_name/container_id
docker restart 命令重启容器
docker restart container_name/container_id
-
停止容器
停止容器使用 docker stop 命令::
docker stop container_name/container_id
-
删除容器
使用 docker rm 命令可以删除一个或多个停止的容器:
docker rm container_name/container_id
查看容器
要查看当前运行的容器,可以使用 docker ps 命令:
docker ps
如果要查看所有容器,包括已停止的容器,可以使用 docker ps -a 命令:
docker ps -a
进入容器
基本语法:
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
-
OPTIONS:可选参数,用于配置执行命令的方式。 -
CONTAINER:必需参数,指定要执行命令的容器名称或容器ID。 -
COMMAND:要在容器内执行的命令。 -
ARG…:命令的参数,可以包含多个。
以下是一些常见的 docker exec 参数和选项:
-
-i 或 –interactive:以交互模式运行命令,通常与 -t 一起使用以支持交互性。 -
-t 或 –tty:分配伪终端 (pseudo-TTY),通常与 -i 一起使用。 -
–user:指定执行命令的用户或用户ID。 -
–env:设置环境变量。 -
–workdir:指定执行命令的工作目录。 -
–privileged:以特权模式执行命令,具有更高的权限。
要进入运行中的容器并执行命令,可以使用 docker exec 命令。例如,要进入一个名为 xj_pandora 的容器并启动 Bash 终端:
docker exec -it cdf3be3e078a /bin/bash

拷贝文件
使用 docker cp
命令可以将文件复制到容器内部或从容器内部复制文件到主机。
复制容器中的文件到宿主机:
docker cp cdf3be3e078a:/opt/app/requirements.txt .

复制宿主机中的文件到容器:
docker cp ./test.txt cdf3be3e078a:/opt/app/

导出和导入容器
你可以使用 docker export 命令将容器导出为一个文件,然后使用 docker import 命令将文件导入为一个新的镜像。这对于分享容器快照或迁移容器非常有用。
docker export -o xj_container.tar xj_container_name
docker import xj_container.tar xj_new_image
查看容器日志
docker logs 命令用于查看 Docker 容器的日志输出。它允许你查看容器内运行的应用程序的标准输出(stdout)和标准错误输出(stderr)。以下是 docker logs 命令的基本语法和详细解释:
docker logs [OPTIONS] CONTAINER
-
OPTIONS:可选参数,用于配置日志输出的方式。 -
CONTAINER:必需参数,指定要查看日志的容器名称或容器ID。
以下是一些常见的 docker logs 参数和选项:
-
-f 或 –follow:实时跟踪容器日志的输出,类似于 tail -f 命令。 -
–since:仅显示在指定的时间之后生成的日志。 -
–until:仅显示在指定的时间之前生成的日志。 -
–timestamps:显示日志条目的时间戳。 -
–tail:仅显示最后几行日志,默认为所有日志。 -
–details:显示更多的详细日志信息,如容器的标准错误输出。
例如实时输出容器pandora-pandora-1 的日志:
docker logs -f pandora-pandora-1

总结
Docker 容器操作命令是容器化应用程序开发和管理的关键工具。通过深入了解这些命令的语法和用途,你可以更好地管理和监控容器,确保你的应用程序能够顺利运行。无论是创建容器、查看日志、监控资源使用还是进入容器内部,这些命令都为容器化管理提供了强大的支持。希望本文对你在 Docker 容器操作方面提供了有用的信息和指导。
原文始发于微信公众号(修己xj):深入了解 Docker 容器操作命令:掌握容器化管理的关键
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/168350.html