CentOS8 Docker 端口映射

CentOS8 Docker 端口映射概念端口映射:端口映射就是将内网中的主机的一个端口映射到外网主机的一个端口,提供相应的服务。当用户访问外网IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上。例:我们在内网中有一台Web服务器,但是外网中的用户是没有办法直接访问该服务器的。于是我们可以在路由器上设置一个端口映射,只要外网用户访问路由器ip的80端口,那么路由器会把自动把流量转到内网Web服务器的80端口上。使用使用:dockerrun–namecontainer-name:tag-d-p服务器端口:Doc

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

概念

端口映射:端口映射就是将内网中的主机的一个端口映射到外网主机的一个端口,提供相应的服务。当用户访问外网IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上。

例:
我们在内网中有一台Web服务器,但是外网中的用户是没有办法直接访问该服务器的。于是我们可以在路由器上设置一个端口映射,只要外网用户访问路由器ip的80端口,那么路由器会把自动把流量转到内网Web服务器的80端口上。

使用

使用:docker run –name container-name:tag -d -p 服务器端口:Docker 端口 image-name

1.–name:自定义容器名,不指定时,docker 会自动生成一个名称

2.-d:表示后台运行容器

3.image-name:指定运行的镜像名称以及 Tag

4.-p 表示进行服务器与 Docker 容器的端口映射,默认情况下容器中镜像占用的端口是 Docker 容器中的端口与外界是隔绝的,必须进行端口映射才能访问

先使用iptables开放端口

iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
iptables -A INPUT -p tcp --dport 8090 -j ACCEPT

#查看iptabls规则
iptables -L -n

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
neutron-linuxbri-INPUT  all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:8080
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:8090

Chain FORWARD (policy DROP)
target     prot opt source               destination
DOCKER-USER  all  --  0.0.0.0/0            0.0.0.0/0
DOCKER-ISOLATION-STAGE-1  all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
DOCKER     all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
neutron-filter-top  all  --  0.0.0.0/0            0.0.0.0/0
neutron-linuxbri-FORWARD  all  --  0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
neutron-filter-top  all  --  0.0.0.0/0            0.0.0.0/0
neutron-linuxbri-OUTPUT  all  --  0.0.0.0/0            0.0.0.0/0

Chain neutron-filter-top (2 references)
target     prot opt source               destination
neutron-linuxbri-local  all  --  0.0.0.0/0            0.0.0.0/0

Chain neutron-linuxbri-FORWARD (1 references)
target     prot opt source               destination
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            PHYSDEV match --physdev-out tap60854a67-44 --physdev-is-bridged /* Accept all packets when port is trusted. */
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            PHYSDEV match --physdev-in tap60854a67-44 --physdev-is-bridged /* Accept all packets when port is trusted. */

Chain neutron-linuxbri-INPUT (1 references)
target     prot opt source               destination

Chain neutron-linuxbri-OUTPUT (1 references)
target     prot opt source               destination

Chain neutron-linuxbri-local (1 references)
target     prot opt source               destination

Chain neutron-linuxbri-sg-chain (0 references)
target     prot opt source               destination
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0

Chain neutron-linuxbri-sg-fallback (0 references)
target     prot opt source               destination
DROP       all  --  0.0.0.0/0            0.0.0.0/0            /* Default drop rule for unmatched traffic. */

Chain DOCKER (1 references)
target     prot opt source               destination

Chain DOCKER-ISOLATION-STAGE-1 (1 references)
target     prot opt source               destination
DOCKER-ISOLATION-STAGE-2  all  --  0.0.0.0/0            0.0.0.0/0
RETURN     all  --  0.0.0.0/0            0.0.0.0/0

Chain DOCKER-ISOLATION-STAGE-2 (1 references)
target     prot opt source               destination
DROP       all  --  0.0.0.0/0            0.0.0.0/0
RETURN     all  --  0.0.0.0/0            0.0.0.0/0

Chain DOCKER-USER (1 references)
target     prot opt source               destination
RETURN     all  --  0.0.0.0/0            0.0.0.0/0

运行容器:

docker run --name testport1 -d -p 8080:8080 tomcat:lateset
3a4d6964f0e7ff04bfa435546c67ff9180a3cd50081bab01a3f76a83a4ac7e2c

docker run --name testport2 -d -p 8090:8080 tomcat:latest
8a54f5b60bfe1cbfadabacdd7a8db71c1681b13d477adae51308a5402bd8e85b

查看容器:

docker ps

CONTAINER ID   IMAGE           COMMAND             CREATED          STATUS          PORTS                                       NAMES
8a54f5b60bfe   tomcat:latest   "catalina.sh run"   3 minutes ago    Up 3 minutes    0.0.0.0:8090->8080/tcp, :::8090->8080/tcp   testport2
3a4d6964f0e7   tomcat:latest   "catalina.sh run"   20 minutes ago   Up 20 minutes   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   testport1

可通过物理机 IP:8080 访问

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/180681.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mysql docker 端口号_如何修改 docker 容器中 mysql 的端口号

    修改docker中MySQL配置文件,在mysqld项目下新增port=3307配置[mysqld]port=3307federatedmax_connections=200max_allowed_packet=64Mpid-file=/var/run/mysqld/mysqld.pidsocket=/var/run/mysqld/mysqld.sockdatadir=…

    2022年4月12日
    655
  • 如何保证docker2375端口的安全

    如何保证docker2375端口的安全情景再现:之前有很多朋友提过,当使用docker-maven-plugin打包SpringBoot应用的Docker镜像时,服务器需要开放2375端口。由于开放了端口没有做任何安全保护,会引起安全漏洞,被人入侵、挖矿、CPU飙升这些情况都有发生,今天我们来聊聊如何解决这个问题。问题产生的原因首先我们要明白问题产生的原因,才能更好地解决问题!Docker为了实现集群管理,提供了远程管理的端口。DockerDaemon作为守护进程运行在后台,可以执行发送到管理端口上的Docker命令。当我们修改do

    2022年6月13日
    46
  • ubuntu上docker卸载重装[通俗易懂]

    ubuntu上docker卸载重装[通俗易懂]清理docker并重装1、删除容器1)首先需要停止所有的容器dockerstop$(dockerps-a-q)2)删除所有的容器(只删除单个时把后面的变量改为imageid即可)dockerrm$(dockerps-a-q)2、删除镜像1)查看host中的镜像dockerimages2)删除指定id的镜像dockerrmiimageid想要删除untaggedimages,也就是那些id为的image的话可以用dockerrmi$(dockeri

    2025年9月4日
    6
  • docker(2)CentOS 7安装docker环境「建议收藏」

    docker(2)CentOS 7安装docker环境「建议收藏」前言前面一篇学了mac安装docker,这篇来学习在linux上安装docker环境准备Docker支持以下的CentOS版本,目前,CentOS仅发行版本中的内核支持Docker。Doc

    2022年7月29日
    16
  • docker 离线安装及命令整理[通俗易懂]

    docker 离线安装及命令整理[通俗易懂]1、保存镜像<fontface=’微软雅黑’size=3>将我们的镜像保存为tar压缩文件这样方便镜像转移和保存,然后可以在任何一台安装了docker的服务器上加载这个镜像。(主要考虑到liunx离线部署问题)</font>dockersave镜像名/镜像ID-o镜像保存在哪个位置与名字示例dockersaveoffline-map-o/offlinemap.tar2、加载镜像任何装docker的地方加载镜像保存文件,使其恢复为一

    2022年9月26日
    2
  • 群晖自带内网穿透_群晖内网解析

    群晖自带内网穿透_群晖内网解析1.打开docker程序,注册表搜索blichus找到blichus/wyc_linux_64双击下载2.下载完成在左侧映像找到刚才下载的镜像,双击配置启动3.点高级设置4.勾选启用自动重新启动5.网络勾选使用与dockerhost相同的网络6.环境选项卡点加号前边大写TOKEN(务必大写一致)后边值填写你的隧道token7.最后点应用完成就可以了,每次在网页端修改隧道之后要记得重…

    2022年8月31日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号