添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

2、使用-p可以指定要映射到的本地端口。

Local_Port:Container_Port,任意地址的指定端口

Local_IP:Local_Port:Container_Port  映射到指定地址的指定端口

Local_IP::Container_Port  映射到指定地址,但是宿主机端口是随机分配的

3、指定传输协议:TCP

docker端口映射详解

一、端口映射概述:

在Docker中容器默认是无法与外部通信的,需要在启动命令中加入对应的参数才允许容器与外界通信。

当Docker中运行一个Web服务时,需要把容器内的Web服务应用程序端口映射到本地宿主机的端口。这样,用户访问宿主机指定的端口的话,就相当于访问容器内部的Web服务端口。

二、案例实验:

1、-P选项,随机端口

使 用-P选项时Docker会随机映射一个端口至容器内部的开放端口

[root@docker ~]# docker run -d -P --name nginx-test1 nginx

使用docker port可以查看端口映射情况

[root@docker ~]# docker port nginx-test1

访问测试:192.168.100.131:32768

[root@docker ~]# docker logs nginx-test1

查看映射的随机端口范围

[root@docker ~]#

cat /proc/sys/net/ipv4/ip_local_port_range

2、使用-p可以指定要映射到的本地端口。

Local_Port:Container_Port,任意地址的指定端口

端口映射参数中指定了宿主机的8000映射到容器内部的80端口,可以多次使用-p选项

[root@docker ~]# docker run -d -p 8000:80 --name nginx-test2 nginx

访问测试:192.168.100.131:8000

这种方式会映射到所有接口地址,所有访客都可以通过宿主机所有IP的端口来访问容器。

如下:查看宿主机当前的ip地址

访问测试:192.168.59.153:8000

Local_IP:Local_Port:Container_Port 映射到指定地址的指定端口

[root@docker ~]# docker run -d -p

192.168.100.131:9000:80 --name nginx-test3 nginx

访问测试:192.168.100.131:9000

访问测试:192.168.59.153:9000

Local_IP::Container_Port 映射到指定地址,但是宿主机端口是随机分配的

[root@docker ~]# docker run -d -p 192.168.100.131::80 --name nginx-test4 nginx

[root@docker ~]# docker port nginx-test4

访问测试:192.168.100.131:32770

3、指定传输协议:TCP

[root@docker ~]# docker run -d -p 80:80/tcp --name nginx-test5 nginx

[root@docker ~]# docker port nginx-test5

访问测试:192.168.100.131:80

Docker 端口映射 即映射 容器 内应用的服务 端口 到本机宿主机器。 当 容器 中运行一些网络应用,要让外部访问这些应用时,可以通过 -P 或 -p 参数两种方式来 指定 端口映射 。 1. 随机 映射 使用 -P 参数时, Docker 随机 映射一个 端口 到内部 容器 开放的网络 端口 ,如下开启一个 nginx 服务: $ docker run -d -P nginx e93349d539119dc48dc841e117f6388d6afa6a6065b75a5b4aedaf5fb2a051fc $ docker ps CONTAINER ID IMAGE COMMAN     在启动 容器 时,如果不配置宿主机器与虚拟机的 端口映射 ,外部程序是无法访问虚拟机的,因为没有 端口 docker 指令: docker run -p ip :hostPort:containerPort redis 参数讲解:     使用-p参数会分配宿主机的 端口映射 到虚拟机。 IP 表示主机...
文章目录前言一、 docker 基础命令二、 docker 镜像命令1、 docker images:列出本地主机的镜像2、 docker search :查看镜像3、 docker pull:拉取镜像4、 docker rmi : 删除 docker 镜像三、 docker 容器 命令1、环境准备2、运行 容器 3、启动、停止、重启 容器 4、查看 容器 日志5、进入 容器 四、 容器 端口映射 1、tomcat 端口映射 案例五、 Docker 容器 与宿主服务器文件复制 当看到此篇文章时,你应该已经搭建好了 docker 环境了吧?如果没有,请移步另一
一. docker file准备   有时多个 容器 之间需要互相访问到对方的服务, docker 除了通过网络访问之外,还提供了两个功能来满足服务访问的基本需求:1.允许映射 容器 内应用的服务 端口 到本地宿主主机;2.互联机制实现多个 容器 间通过 容器 名来快速访问。 docker file如下所示: FROM mcr.microsoft.com/dotnet/core/aspnet:2.2 AS runtim...
问题描述: 在执行 docker run -p 19918:19918/tcp -v /etc/localtime:/etc/localtime时候后 docker ps查看有启动19918和另一个 端口 ,并在注册中心未发现执行程序。 问题分析: 启动的另一 端口 为之前配置的,猜测为run时执行了刚刚build的项目外执行了之前的 容器 。 解决方式: docker images查看 容器 ,删除相同的以及两个执行出的 端口 容器 。再次执行显示成功! 命名规范,及时清除不必要的 容器 。 补充知识: docker 中开启时运行多个不同进程,安装ssh,并在启动 docker 时与jenkins同时启动运行
docker 启动 容器 时会 指定 访问 端口 ,可以通过多个-p 指定 多个 端口映射 。 udp在后台会有一个自己的 端口 号,区别于服务访问的 端口 号,这时就需要启动服务时候来 指定 一下了。 docker run -p 8080:8090 -p 10000:11000/udp aaa:latest 8080是服务本身暴露的 端口 号,8090是服务本身 端口 号。10000是udp暴露的 端口 号 11000为udp本身监听的 端口 ,如果是udp要注意要声明。 补充知识: docker 容器 中的项目监听udp 无法收到消息 在我们生成 容器 并运行时,要配置对外暴露 端口 ,如果使用到udp的话,还要单独 指定 udp 端口
docker run命令用于运行一个新 容器 。它支持多个参数来提供所需的信息。其中一些参数包括: - `-d`:在后台运行 容器 。 - `-i`:交互式 容器 ,允许用户与 容器 进行交互。 - `-t`:为 容器 分配一个伪终端。 - `--name`:为 容器 指定 一个名称。 - `--network`:将 容器 连接到 指定 的网络。 - `-p`:将 容器 端口映射 到主机的 端口 。 - `-v`:将主机的目录或文件挂载到 容器 内部。 交互型 容器 运行在前台,可以在 容器 内部使用exit命令或调用 docker stop、 docker kill命令来停止 容器 。而后台型 容器 运行在后台,与终端无关,只有通过 docker stop、 docker kill命令才能停止 容器