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)
上一篇 2022年10月18日 下午12:00
下一篇 2022年10月18日 下午12:00


相关推荐

  • Jenkins(2)docker容器中安装python3[通俗易懂]

    Jenkins(2)docker容器中安装python3[通俗易懂]前言使用docker安装jenkins环境,jenkins构建的workspace目录默认是在容器里面构建的,如果我们想执行python3的代码,需进容器内部安装python3的环境。进jenki

    2022年8月6日
    9
  • 【云原生】Docker Compose 构建 Jenkins

    【云原生】Docker Compose 构建 JenkinsJenkins 是一个开源软件项目 是基于 Java 开发的一种持续集成工具 用于监控持续重复的工作 旨在提供一个开放易用的软件平台 使软件项目可以进行持续集成

    2026年3月19日
    1
  • docker入门(三):容器数据卷与DockerFile脚本,使用阿里云镜像仓库[通俗易懂]

    docker入门(三):容器数据卷与DockerFile脚本,使用阿里云镜像仓库[通俗易懂]一、容器数据卷用于数据保存和持久化,简单的理解,就是容器和主机共享的一个公共硬盘,举个例子,原本tomcat部署应用,或者查看日志还需要进入容器,现在将日志文件夹和部署文件夹拿出来挂载到主机,就可以

    2022年8月16日
    10
  • docker部署influxdb

    docker部署influxdb使用 docker 部署 influxdbdock compose yamlversion 3 services influxdb image influxdb latestcontai name influxdbenvi INFLUXDB DB db0 INFLUXDB ADMIN ENABLED true INFLUXDB ADMIN USER admin INF

    2026年3月18日
    2
  • Docker卸载_退出docker容器命令

    Docker卸载_退出docker容器命令##1)进入docker的安装目录cd/usr/local/bin/##2)删除与docker相关的文件夹sudorm-rfdocker*sudorm-rfcom.docker.*sudorm-rfhub-tool*sudorm-rfkube*sudorm-rfvpnkit*完成!

    2025年10月5日
    4
  • kafka集群搭建-docker版本[通俗易懂]

    kafka集群搭建-docker版本[通俗易懂]提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档kafka集群搭建文章目录kafka集群搭建前言一、kafka是什么?二、集群1.集群2.负载均衡3.扩容4.ZookeeperLeader选举kafka架构集群搭建下载安装zookeeper前言kafka是个高吞吐的消息中间件,为啥快啊?1顺序读写20拷贝3批量提交和批量ACK4分片和副本消息队列高可用就得用集群。提示:以下是本篇文章正文内容,下面案例可供参考一、kafka是什么?kafka理论参

    2022年5月2日
    86

发表回复

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

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