Docker 中的 Payara 服务器-组成

Payara server in Docker-compose up

我是 Docker 的新手,正在努力理解它。我有一个 docker-compose.yml 文件,其中包含我不清楚的某些内容。 (我已经从客户那里收到它并试图 run/understand 它)。请注意,我使用的是 windows 10 和 Docker 版本 3.0.

1) docker-compose.yml 中的以下代码是什么意思?它会构建 vvv.payara 图像,然后在端口 4848 上启动 payara 吗?如果是,那么我是否可以在完成 docker-compose up 后打开管理页面 localhost:4848?

payara:
        image: vvv.payara:rc1
        build: payara
        ports:
          - 4848:4848
          - 8080:8080
          - 8181:8181

2) 为 payara 指定三个端口有什么意义? 4848、8080 和 8181 ?它是否表示如果第一个被占用,则在另一个上开始 payara?

3) line - ./deployments:/opt/payara41/deployments 是做什么的?为什么我使用 windows 10 时指定了 opt 文件夹?我假设 opt dir 存在于 Linux 台机器上。

payara:
    image: vvv.payara:rc1
    build: payara
    ports:
      - 4848:4848
      - 8080:8080
      - 8181:8181
    volumes:
      - ./deployments:/opt/payara41/deployments
      - ./logs:/opt/payara41/glassfish/domains/payaradomain/logs
      - ./vvvConfiguration:/opt/vdz/config
    working_dir: /opt/payara41/bin/
    environment:
      - PAYARA_DOMAIN=payaradomain
  1. build 参数指定 docker 将用于构建应用程序的文件夹(参见 doc)。 端口列表指示 docker 在主机系统上的端口公开。这样,您应该可以访问 localhost
  2. 上 docker 容器的端口 4848、8080 和 8181
  3. 需要这三个端口来访问 payara 的所有组件。如果端口在主机系统上可用,它们将全部用于不同的服务(payara)。 (端口 4848 是管理 HTTPS 接口,8080 是 HTTP 侦听器,8181 是 HTTPS 侦听器)
  4. 这些行声明挂载点,其行为类似于主机和容器之间的共享文件夹。 : 之前的部分是指主机上的文件夹,第二部分是它将链接到的容器内的文件夹。 这意味着您的文件夹 deployments 可以在文件夹 /opt/payara41/deployments
  5. 的容器内访问