部署扩展坞合成服务时遇到问题(端口问题)

cclgggtu  于 2022-10-23  发布在  Docker
关注(0)|答案(1)|浏览(213)

我想部署一个服务,允许我在Jupiter笔记本中使用SparkMongoDB
我使用docker-compose来构建服务,如下所示:

version: "3.3"

volumes:
    shared-workspace: 
    networks:
    spark-net:
        driver: bridge

services:   
  spark-master:
    image: uqteaching/cloudcomputing:spark-master-v1
    container_name: spark-master
    networks:
        - "spark-net"
    ports:
        - "8080:8080"
        - "7077:7077"
    environment:
        - INIT_DAEMON_STEP=setup_spark
        - "PYSPARK_PYTHON=/usr/bin/python3"
        - "PYSPARK_DRIVER_PYTHON=/usr/bin/python3"

  spark-worker-1:
    image: uqteaching/cloudcomputing:spark-worker-v1
    container_name: spark-worker-1
    depends_on:
        - spark-master
    networks:
        - "spark-net"
    ports:
        - "8081:8081"
    environment:
        - "SPARK_MASTER=spark://spark-master:7077"
        - "PYSPARK_PYTHON=/usr/bin/python3"
        - "PYSPARK_DRIVER_PYTHON=/usr/bin/python3"

  spark-worker-2:
    image: uqteaching/cloudcomputing:spark-worker-v1
    container_name: spark-worker-2
    depends_on:
        - spark-master
    networks:
        - "spark-net"
    ports:
        - "8082:8082"
    environment:
        - "SPARK_MASTER=spark://spark-master:7077"
        - "PYSPARK_PYTHON=/usr/bin/python3"
        - "PYSPARK_DRIVER_PYTHON=/usr/bin/python3"

  mongo:
    image: mongo
    container_name: 'mongo'
    networks:
            - "spark-net"
    ports:
            - "27017:27017"

  mongo_admin:
    image: mongo-express
    container_name: 'mongoadmin'
    networks:
            - "spark-net"
    depends_on:
            - mongo
    links:
            - mongo
    ports:
            - "8091:8091"

  jupyter-notebook:
    container_name: jupyternb
    image: jupyter/all-spark-notebook:42f4c82a07ff
    depends_on:
        - mongo
        - spark-master
    links:
        - mongo
    expose:
        - "8888"
    networks:
        - "spark-net"
    ports:
        - "8888:8888"
    volumes:
        - ./nbs:/home/jovyan/work/nbs
        - ./events:/tmp/spark-events
    environment:
        - "PYSPARK_PYTHON=/usr/bin/python3"
        - "PYSPARK_DRIVER_PYTHON=/usr/bin/python3"
    command: "start-notebook.sh \
              --ip=0.0.0.0 \
              --allow-root \
              --no-browser \
              --notebook-dir=/home/jovyan/work/nbs \
              --NotebookApp.token='' \
              --NotebookApp.password=''
             "

结果是这样的:

我使用t know why. Even I set these 2服务来侦听不同的端口。 它们同时使用8081/tcp`,这导致它们都崩溃了。
我想解决这个问题。

lsmd5eda

lsmd5eda1#

Mongo-Express似乎需要内部端口8081,所以使用另一个外部端口才能登录到WebUI。
然后,http://localhost:8092应该是这样的:

mongo_admin:
  image: mongo-express
  container_name: 'mongoadmin'
  networks:
    - "spark-net"
  depends_on:
    - mongo
  links:
    - mongo
  ports:
    - "8092:8091"

相关问题