小编ike*_*nas的帖子

如何自动获取可用端口?

我正在为一些项目使用 docker 容器,为了节省时间,我为其他项目克隆了 docker 作曲家文件。

我遇到的问题是 mysql_database 和 apache_service 的端口是固定值。

例子:

version: "3.2"

services:
  apache_service:
    build:
      context: './docker/apache/'
    links:
      - mysql_service:mysql_service
    depends_on:
      - mysql_service
    ports:
      - "8080:80" # "random_port:80"
    volumes:
      - ./:/var/www/

  mysql_service:
    build:
      context    : ./
      dockerfile : ./docker/mysql/Dockerfile
    command: [
      '--character-set-server=utf8mb4',
      '--collation-server=utf8mb4_unicode_ci',
      '--default-authentication-plugin=mysql_native_password',
    ]
    restart:
      always
    volumes:
      - ./docker/initdb:/docker-entrypoint-initdb.d
      - ./docker/mysql/logs:/var/log/mysql
    ports:
      - "4306:3306" # "random_port:3306"
    environment:
      MYSQL_ROOT_PASSWORD: ${DB_PASSWORD}
    container_name:
      mysql_service

Run Code Online (Sandbox Code Playgroud)

当我复制 docker-composer 文件并写入时,docker-composer up我总是必须先更改端口......

我如何自动获取此服务的可用端口?

docker docker-compose

1
推荐指数
1
解决办法
978
查看次数

标签 统计

docker ×1

docker-compose ×1