Docker给容器添加新端口映射的两种方法及常用命令举例详解
作者:乔丹搞IT
Docker是一个开源的应用容器引擎,允许开发者打包和发布应用到任何流行的Linux机器上,并实现虚拟化,这篇文章主要介绍了Docker给容器添加新端口映射的两种方法及常用命令的相关资料,需要的朋友可以参考下
代码示例:
Docker 是一个开源的应用容器引擎,它允许开发者打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
在 Docker 中,端口映射是将容器内部的端口映射到宿主机的端口上,使得外部可以通过宿主机的端口访问容器内部的服务。以下是为 Docker 容器添加新端口映射的两种方法及常用命令的详细例子:
方法一:使用 docker run 命令时指定端口映射
当你启动一个容器时,可以直接在 docker run
命令中使用 -p
或 --publish
参数来指定端口映射。
命令格式:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
选项说明:
-p
或--publish
:格式为<宿主机端口>:<容器端口>
或<宿主机端口>
(此时 Docker 会自动分配容器端口)。-P
或--publish-all
:将容器内部所有暴露的端口都映射到宿主机的高端口上。
例子:
# 将容器的 80 端口映射到宿主机的 8080 端口 docker run -p 8080:80 nginx # 将容器的 22 端口(SSH)映射到宿主机的 2202 端口 docker run -p 2202:22 ubuntu # 将容器的所有端口都映射到宿主机的高端口上 docker run -P nginx
方法二:使用 docker network 命令修改网络设置
如果你已经启动了容器,想要添加新的端口映射,可以使用 docker network connect
命令来重新连接网络,并指定新的端口映射。
命令格式:
docker network connect [OPTIONS] NETWORK CONTAINER
选项说明:
--publish
:格式为<宿主机端口>:<容器端口>
。
例子:假设你已经有一个名为 my_container
的容器和一个名为 my_network
的网络,现在想要将容器的 80 端口映射到宿主机的 8081 端口上。
- 首先,断开容器与网络的连接(可选,但推荐):
docker network disconnect my_network my_container
- 重新连接网络,并添加新的端口映射:
docker network connect --publish 8081:80 my_network my_container
这样,你就成功地为已存在的容器添加了新的端口映射。
常用命令
docker ps
:列出当前运行的容器。docker inspect <容器ID或名称>
:查看容器的详细信息,包括端口映射。docker port <容器ID或名称>
:查看容器的端口映射详情。
请注意,使用 Docker 时,确保你有足够的权限来执行这些命令,或者使用 sudo
来获取必要的权限。此外,确保 Docker 服务正在运行。
总结
到此这篇关于Docker给容器添加新端口映射的两种方法及常用命令举例详解的文章就介绍到这了,更多相关Docker给容器添加新端口映射内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!