Docker 查看映射
概述
Docker 是一个开源的平台,用于自动化部署、发布和管理应用程序的容器化技术。通过 Docker,我们可以将应用程序和其依赖项打包到一个虚拟化容器中,使得应用程序在任何环境中都能够以相同的方式运行。在 Docker 中,映射是一种将容器内部的目录或端口映射到宿主机上的操作,它使得容器与外部环境之间可以进行数据交互和通信。
本文将介绍 Docker 中如何查看映射的相关操作,并通过代码示例来演示具体的步骤。
流程图
flowchart TD
subgraph Docker容器
A(创建容器) --> B(查看容器ID)
B --> C(查看映射)
end
subgraph 宿主机
C --> D(查看容器的IP地址)
C --> E(查看端口映射)
end
示例代码
1. 创建容器
首先,我们需要创建一个 Docker 容器。可以使用如下命令创建一个名为 my_container
的容器,并在容器中运行一个简单的 Nginx 服务器。
docker run -d --name my_container -p 8080:80 nginx
在上述命令中,我们使用了 -d
参数让容器在后台运行,--name
参数指定容器的名称为 my_container
,-p
参数将容器的端口 80 映射到宿主机的端口 8080 上,并使用了 nginx
镜像。
2. 查看容器ID
查看容器的 ID 可以使用 docker ps
命令,该命令会列出当前正在运行的容器以及它们的相关信息。
docker ps
命令输出示例:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a6d8a5bf7c5a nginx "/docker-entrypoint.…" 5 seconds ago Up 4 seconds 0.0.0.0:8080->80/tcp my_container
3. 查看映射
在容器创建后,我们可以使用 docker inspect
命令来查看容器的详细信息,包括它的 IP 地址和端口映射情况。
docker inspect my_container
命令输出示例(部分内容):
[
{
"Id": "a6d8a5bf7c5ad...",
"Created": "2021-12-01T12:00:00.000Z",
"State": {
...
},
"NetworkSettings": {
"Networks": {
"bridge": {
"IPAddress": "172.17.0.2",
"IPPrefixLen": 16,
...
}
}
},
"Ports": [
{
"PrivatePort": 80,
"PublicPort": 8080,
"Type": "tcp"
}
],
...
}
]
从上述输出中可以看到,容器的 ID 是 a6d8a5bf7c5ad...
,IP 地址为 172.17.0.2
,私有端口为 80,公共端口为 8080。
4. 查看容器的IP地址
我们可以使用 docker inspect
命令来查看容器的 IP 地址。
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' my_container
上述命令使用了 -f
参数来指定格式化输出,并使用了模板语法 {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}
来获取容器的 IP 地址。
命令输出示例:
172.17.0.2
5. 查看端口映射
我们可以使用 docker port
命令来查看容器的端口映射情况。
docker port my_container
命令输出示例:
80/tcp -> 0.0.0.0:8080
从上述输出中可以看到,容器的端口 80 被