当前位置: 首页 > 工具软件 > Expose > 使用案例 >

Docker学习总结(57)——Docker-compose 的ports、expose、links、depends_on的使用技巧

秦伯寅
2023-12-01

一、ports 和 expose 的区别

ports 用来把服务端口映射给宿主机,可以访问宿主机 IP 地址的人都可以访问 ports 映射出来的端口;expose 用来把服务端口开放给其他服务,客户端服务可以通过 links 功能访问服务端服务的端口。

二、Dockerfile 的 EXPOSE 和 docker-compose 的 expose 的区别

其实这俩个是同一个意思,如果 Dockerfile 里面通过 EXPOSE 暴露了端口出来,那么在通过 docker-compose 创建的服务也会暴露这个端口出来。如果 Dockerfile 里面没有暴露端口出来,可以在后面通过 docker-compose 的 expose 把服务的端口暴露出来。

三、ports

3.1、映射到端口

使用下面的参数可以将服务的80端口映射宿主机的 8080 端口(也可以是其他端口)。

services:

  nginx:
    image: tflinux_nginx1.20
    ports:
      - 8080:80

3.2、映射到地址

使用下面的参数可以将服务的80端口映射到宿主机的 10.16.1.1 的 8080 端口(也可以是其他端口)。

services:

  nginx:
    image: tflinux_nginx1.20
    ports:
      - 10.16.1.1:8080:80

3.3、随机映射

使用下面的参数可以将服务的 80 端口映射到宿主机的一个随机的端口上。

services:

  nginx:
    image:
 类似资料: