docker run 端口映射

me

镜像映射 22 端口到宿主机 10122

4o

要将 Docker 容器中的端口映射到宿主机的端口,可以使用 -p 选项。这个选项的格式是 <宿主机端口>:<容器端口>。如果你希望将容器的 22 端口映射到宿主机的 10122 端口,可以这样运行你的 Docker 容器:

bash 复制代码
Copy
docker run -d --name=ubn18 --gpus all --privileged=true --shm-size 8G -p 10122:22 ubuntu:18.04

这样,当你尝试连接到宿主机的 10122 端口时,实际上会被转发到容器内的 22 端口。例如,如果你想通过 SSH 连接到该容器(假设你在容器中安装并配置了 SSH 服务器),可以在宿主机上使用以下命令:

bash 复制代码
Copy
ssh -p 10122 用户名@宿主机的IP地址

注意:为了能够通过 SSH 连接,你需要确保在容器中安装并启动了 SSH 服务器。此外,也需要正确配置防火墙规则以允许连接到宿主机的 10122 端口。

me

同时映射 3306 到 13306

4o

要同时映射多个端口,可以使用多个 -p 选项。在你的例子中,除了将容器的 22 端口映射到宿主机的 10122,你还需要将容器的 3306 端口映射到宿主机的 13306 端口。可以按以下方式运行 Docker 命令:

bash 复制代码
Copy
docker run -d --name=ubn18 --gpus all --privileged=true --shm-size 8G -p 10122:22 -p 13306:3306 ubuntu:18.04

通过这个命令:

  • 宿主机的 10122 端口将被映射到容器的 22 端口。
  • 宿主机的 13306 端口将被映射到容器的 3306 端口。
    确保在容器中运行的服务(例如 SSH 和 MySQL)正确配置和启动。对于 MySQL,您需要确保已经在容器中安装并运行了 MySQL 服务器,并且它监听在 3306 端口上。
    另外,请确保宿主机上相应的防火墙和安全组允许对这些端口的访问。

me

运行着的容器还能增加端口映射吗

4o

不能直接在已经运行的容器上添加新的端口映射。运行中的容器一旦启动,网络配置(包括端口映射)就被锁定,无法动态修改。

不过,你可以通过其他方法实现增加端口映射:

停止并重新启动容器:可以停止当前容器并使用新的端口映射重新创建它。这是一种最常见的方法。

bash 复制代码
Copy
   # 停止并删除现有容器
   docker stop ubn18
   docker rm ubn18

   # 重新创建容器,并增加新的端口映射
   docker run -d --name=ubn18 --gpus all --privileged=true --shm-size 8G -p 10122:22 -p 13306:3306 ubuntu:18.04

使用 Docker Compose:如果你使用 Docker Compose 管理容器,可以在 docker-compose.yml 文件中添加新的端口映射,然后重新启动服务来应用更改。

使用 docker network:如果你在更复杂的环境中工作,可以将容器连入同一个 Docker 网络上不同的容器,而不是直接映射新的主机端口。

创建新的网络接口和端口转发规则(高级):通过修改 iptables 或 Docker 网络设置可以实现动态端口映射,但这通常更加复杂,且不推荐作为常规方案,因为它破坏了容器化和代码管理的最佳实践。

一般来说,最方便且常用的做法是先停止容器,然后使用新的配置参数重启它。

相关推荐
b***251111 分钟前
电池组PACK自动化生产线介绍|深圳比斯特自动化
运维·自动化
蓁蓁啊3 小时前
GIT使用SSH 多账户配置
运维·git·ssh
程序猿小三6 小时前
Linux下基于关键词文件搜索
linux·运维·服务器
虚拟指尖6 小时前
Ubuntu编译安装COLMAP【实测编译成功】
linux·运维·ubuntu
椎4957 小时前
苍穹外卖前端nginx错误之一解决
运维·前端·nginx
刘某的Cloud7 小时前
parted磁盘管理
linux·运维·系统·parted
极验8 小时前
iPhone17实体卡槽消失?eSIM 普及下的安全挑战与应对
大数据·运维·安全
爱倒腾的老唐8 小时前
24、Linux 路由管理
linux·运维·网络
yannan201903138 小时前
Docker容器
运维·docker·容器
_清浅8 小时前
计算机网络【第六章-应用层】
运维·服务器·计算机网络