相关文章推荐
暴走的感冒药  ·  PHP ...·  4 月前    · 
博学的地瓜  ·  Matplotlib ...·  10 月前    · 

当容器中运行一些网络应用,要让外部访问这些应用时,可以通过 -P 或 -p 参数两种方式来指定端口映射。

如果你是用的docker-compose.yml 启动服务的,docker-compose.yml文件中需要配置服务对应的端口号,配置如下:

vm-test:
    # 代码在git上的仓库地址
    image: registry****
    container_name: vm-test
    ports:
      #UDP 端口映射
      - 1162:1162/udp
      #TCP 端口映射
      - 1162:1162

如果你是直接通过docker命令配置的:

#TCP的端口映射
docker run -itd -p 1162:1162 vm_test
docker run -itd -p 127.0.0.1:1162:1162 vm_test
#UDP的端口映射
docker run -itd -p 1162:1162/udp vm_test

以上两种都可以映射成功,亲测有效,如有问题,欢迎指正!

实现效果:

如果你是用的docker-compose.yml 启动服务的,docker-compose.yml文件中需要配置服务对应的端口号,配置如下:vm-test: # 代码在git上的仓库地址 image: registry**** container_name: vm-test ports: #UDP 端口映射 - 1162:1162/udp #TCP 端口映射 - 1162:1162 如果你是直接通过docke. 1.开启TCP管理端口 1.1. 创建目录/etc/systemd/system/docker.service.d 1.2. 在这个目录下创建tcp.conf文件,增加以下内容, Ubuntu专用版 Ubuntu和CentOS7 通用版 1.3. Daemon重新reload ,并重启docker 1.4. 查看端口是否打开...
docker端口含义(docker容器端口映射容器内部端口)(port/tcp、0.0.0.0:port1->port2/tcp、:::port1->port2/tcp
docker容器的IP信息 下面面这一段这就是docker 的网络,我们可以看到它的网段是172.17.0.0段的。 3: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default link/ether 02:42:b6:4b:f0:16 brd ff:ff:ff:ff:ff:ff inet 172.17.0
基本遵循规则是从宿主机映射容器,默认是tcp,如果使用udp,比如5600,要记得在运行时或者yaml文件端口处比如写:5000/udp docker-compose映射端口的标签。使用HOST:CONTAINER格式或者只是指定容器端口,宿主机会随机映射端口。 ports: - "3000" - "8000:8000" - "49100:22" - "127.0.0....
可以使用 -p 或 --publish 选项在运行容器时为容器开放端口。格式为 -p host_port:container_port/protocol。 例如, 为了开放UDP协议下的端口80,可以运行如下命令 docker run -d -p 80:80/udp your_image 这样的话 容器内的80端口将会映射到主机的80端口,并使用UDP协议。
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端口
Podman撰写 带有后端的 docker-compose的实现。 该项目的主要目标是能够未经修改且无根地运行docker-compose.yml 。 该项目旨在为docker-compose提供docker-compose替换,并且在某些情况下非常有用,因为: 可以无根运行 仅取决于podman和Python3和 没有守护程序,没有设置。 开发人员可以使用它来使用单个熟悉的YAML文件运行单机容器化堆栈 对于类似生产的单机集装箱化环境,请考虑 对于真实的东西(多节点集群),请检查任何生产的OpenShift / Kubernetes发行版,例如 。 该项目仍在开发中。 从PyPI安装最新的稳定版本: pip3 install podman-compose 通过--user可以在没有root用户的情况下安装在普通用户家中。 或来自GitHub的最新开发版本:
在启动容器时,如果不配置宿主机器与虚拟机的端口映射,外部程序是无法访问虚拟机的,因为没有端口容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过 -P 或 -p 参数来指定端口映射。 当使用 -P 标记时,Docker 会随机映射一个 49000~49900 的端口到内部容器开放的网络端口端口映射通过-P和-p参数来实现 一、-P将容器内部开放的网络端口随机映射到宿主机的一个端口上; 二、-p指定要映射端口,一个指定端口上只可以绑定一个容器
Docker是一种容器化技术,可在其中运行现代应用程序。Docker容器本身是一种虚拟化技术,它允许用户将应用程序与依赖项捆绑在一起,并以一种轻量级的方式运行在不同的环境中。Docker容器的关键优势在于能够轻松地在不同的环境中部署应用程序,达到开发人员和运维人员的持续整合、持续部署和持续交付。 Docker Compose是一种工具,它允许用户定义和运行多个Docker容器。使用Docker Compose可以轻松地配置容器之间的网络连接和依赖关系,使得多个Docker容器能够协同工作,从而形成一个完整应用程序。 连接本地数据库时,可以使用Docker Compose配置文件定义数据库容器和应用程序容器之间的连接。在Docker Compose配置文件中,可以指定数据库容器映射到的本地端口,以及应用程序容器如何连接到本地数据库。例如,下面是一个简单的Docker Compose配置文件,用于连接一个MySQL数据库和一个PHP应用程序: version: '3.1' services: image: mysql:latest ports: - "3306:3306" environment: MYSQL_ROOT_PASSWORD: example_password build: . ports: - "80:80" depends_on: environment: DB_HOST: db DB_USER: root DB_PASSWORD: example_password 在上面的Docker Compose配置文件中,我们定义了两个服务:一个MySQL数据库服务和一个PHP应用程序服务。数据库服务的镜像是MySQL的最新版。我们将其映射到本地端口3306,并设置了MySQL的root密码。PHP应用程序服务使用Dockerfile进行构建。我们将其映射到本地端口80,并指定它依赖于数据库服务。然后我们通过环境变量将应用程序容器连接到本地数据库。 总之,Docker容器Docker Compose的使用使得我们能够轻松地集成和部署多个容器,包括本地数据库,使得整个应用程序具有高效性、可靠性和扩展性。
解决:com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure Godyouer: 我问题解决了,感谢博主!!! 基于可视化 BI 工具 DataEase 制作第七次人口普查数据分析大屏 洋溢不吃香菜: 2931564251@qq.com请发我一下吧,谢谢博主表情包 Spring报错:has been injected into other beans [xxx] in its raw version as part of a circular reference 帅帅的光哥: 不引用@Lazy此注入的服务会在引用时才被创建?是不是反了 基于可视化 BI 工具 DataEase 制作第七次人口普查数据分析大屏 贝小贝貝: 也可以直接去国家统计局下载的哈,我的数据也都来源那里