Docker给容器添加新端口映射
Docker容器创建后,其网络配置通常是固定的,包括端口映射。文内主要解决对现有容器添加新端口映射的问题。
1 Docker安装Ubuntu22.04
首先确保计算机已安装Docker。
#拉取镜像
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/ubuntu:22.04
2 创建新容器
下载完成后,通过运行一下命令来启动一个新的Ubuntu 22.04容器。
docker run -it --name test swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/ubuntu:22.04
#启动容器
docker start test
3 给容器添加端口映射
3.1 查看运行的容器
docker ps
3.2 查看容器挂载目录
#docker inspect [容器id]或[容器name]
docker inspect test
3.3 停止容器
docker stop test
3.4 停止docker服务
systemctl stop docker
3.5 进入容器挂载目录
3.6 修改config.v2.json文件
添加 "ExposedPorts":{"8090/tcp":{}}
3.7 修改hostconfig.json文件
添加"PortBindings":{"8090/tcp":[{"HostIp":"","HostPort":"8090"}]}
3.8 启动docker
systemctl start docker
3.9 启动容器
docker start test
docker ps
4 端口测试
4.1 创建一个服务端
#1 进入容器
docker exec -it test bash
#2 安装netcat
sudo apt-get update
sudo apt-get install netcat
#3 nc通信
#创建一个服务端nc服务端用来监听该服务端端口的连接状态
#-l:监听模式,-p:监听的端口
#nc -l -p [端口]
nc -l -p 8090
4.2 创建一个客户端
在另一台机器上安装netcat,创建一个客户端用来连接4.1容器中的服务端,就可以在命令行相互通信了。
#nc [要连接的服务端IP地址] [要连接的服务端端口]
nc 192.168.3.87 8090
客户端:
服务端: