📅  最后修改于: 2023-12-03 14:40:50.441000             🧑  作者: Mango
Docker是一个开源的容器化平台,可以帮助开发人员更有效地开发、部署和运行应用程序。当你创建并运行容器时,你需要能够访问容器的内部以及容器所运行的应用程序,本文将介绍如何通过Docker访问容器。
有时候,你需要在运行的容器内执行一些命令。为了实现这个目的,你可以使用 docker exec
命令。使用该命令的格式如下:
$ docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
OPTIONS
关于该命令的选项参数,可以为空。CONTAINER
当前正在运行的容器名称或ID。COMMAND
在容器中要执行的命令。ARG
命令参数。下面是一个示例:
$ docker exec -it my-app /bin/bash
在以上示例中,我们执行了一个交互式的 bash
命令,这会连接到当前运行的容器 my-app
,我们可以在容器内执行命令,进行调试等操作。
通过 docker attach
命令,可以连接到正在运行的容器的标准输入、输出和错误输出流。该命令的格式如下:
$ docker attach [OPTIONS] CONTAINER
OPTIONS
对于该命令的选项参数,可以为空。CONTAINER
当前正在运行的容器名称或ID。下面是一个示例:
$ docker attach my-app
在这个示例中,我们连接到了一个名为 my-app
的正在运行的容器,并在终端中使用了该容器的 STDIN、STDOUT 和 STDERR 流。
你可以运行在容器内运行的应用程序,以及在容器内运行的服务,为了访问它们提供的服务,你需要知道容器内部的端口号。使用 docker port
命令,可以查看正在运行的容器的端口映射。该命令可使用的格式如下:
$ docker container port [OPTIONS] CONTAINER [PRIVATE_PORT[/PROTO]]
OPTIONS
对于该命令的选项参数,可以为空。CONTAINER
当前正在运行的容器名称或ID。PRIVATE_PORT
容器内部应用程序的端口号。PROTO
指定协议类型,如TCP或UDP。下面是一个示例:
$ docker port my-app
在这个示例中,我们查看了正在运行的容器 my-app
中暴露的端口映射。
使用 docker cp
命令,可以使用容器中的文件系统以及容器中的文件操作,将文件复制到主机文件系统,或从主机文件系统复制文件到容器。该命令可使用的格式如下:
$ docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
$ docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
OPTIONS
对于该命令的选项参数,可以为空。CONTAINER
当前正在运行的容器名称或ID。SRC_PATH
容器内部的源路径。DEST_PATH
容器内部目标路径。下面是一个示例:
$ docker cp my-app:/path/to/file ./local/path
在这个示例中,我们将 my-app
容器中的 /path/to/file
复制到本地机器上 ./local/path
目录中。
以上就是通过Docker访问容器的一些常规方法,希望能够为使用Docker容器的程序员们提供一些参考。