Docker 如何使用自定义配置启动apache storm容器?

Docker 如何使用自定义配置启动apache storm容器?,docker,docker-compose,apache-storm,Docker,Docker Compose,Apache Storm,我正在尝试使用dockerhub映像启动一个包含所有ApacheStorm部分的容器。使用默认配置,没有拓扑可以正常工作 Docker正在一个使用Ubuntu服务器18.04.2的虚拟机上运行 我试图使用一个卷和另一个卷来获取日志,但出现了一些问题。Nimbus没有开始给出错误13 从默认配置中,我只是更改了这些行 ### ui.* configs are for the master ui.host: 0.0.0.0 ui.port: 8081 ui.childopts: "-Xmx7

我正在尝试使用dockerhub映像启动一个包含所有ApacheStorm部分的容器。使用默认配置,没有拓扑可以正常工作

Docker正在一个使用Ubuntu服务器18.04.2的虚拟机上运行

我试图使用一个卷和另一个卷来获取日志,但出现了一些问题。Nimbus没有开始给出错误13

从默认配置中,我只是更改了这些行


### ui.* configs are for the master

ui.host: 0.0.0.0

ui.port: 8081

ui.childopts: "-Xmx768m"

ui.actions.enabled: true

ui.filter: null

ui.filter.params: null

ui.users: null

ui.header.buffer.bytes: 4096

ui.http.creds.plugin: org.apache.storm.security.auth.DefaultHttpCredentialsPlugin

ui.http.x-frame-options: DENY

ui.pagination: 20

如何更改UI服务端口并正确启动系统


有人知道Nimbus服务中的错误13是什么吗?

根据docker映像的文档,您有两种使用自定义配置运行容器的方法。 第一个直接在run命令上

run -d --restart always --name nimbus storm storm nimbus -c storm.zookeeper.servers='["zookeeper"]'
第二个是使用卷(假设storm.yaml位于同一目录中):


根据docker映像的文档,您有两种使用自定义配置运行容器的方法。 第一个直接在run命令上

run -d --restart always --name nimbus storm storm nimbus -c storm.zookeeper.servers='["zookeeper"]'
第二个是使用卷(假设storm.yaml位于同一目录中):


我在开发环境中使用docker compose文件。我将在下面分享我的撰写文件的一部分,其中包含storm nimbus、supervisor和storm ui配置语句

my-nimbus:
    image: storm:1.1.0
    container_name: nimbus
    command: storm nimbus
    depends_on:
        - dependency1
        - dependency2
    links:
        - link1
        - link2
    expose:
        - "6627" 
my-supervisor:
    image: storm:1.1.0
    container_name: supervisor
    command: storm supervisor
    volumes:
     - ./storm.yaml:/conf/storm.yaml
    depends_on:
        - my-nimbus
    links:
        - my-nimbus
    expose:
     - "8999"
my-supervisor-ui:
    image: storm:1.1.0
    container_name: supervisor-ui
    command: storm ui
    depends_on:
        - my-nimbus
    links:
        - my-nimbus
    ports:
     - "8080:8080"

您可以通过编辑端口零件来公开和绑定任何端口。我希望它能解决您的问题。

我使用docker compose文件作为我的开发环境。我将在下面分享我的撰写文件的一部分,其中包含storm nimbus、supervisor和storm ui配置语句

my-nimbus:
    image: storm:1.1.0
    container_name: nimbus
    command: storm nimbus
    depends_on:
        - dependency1
        - dependency2
    links:
        - link1
        - link2
    expose:
        - "6627" 
my-supervisor:
    image: storm:1.1.0
    container_name: supervisor
    command: storm supervisor
    volumes:
     - ./storm.yaml:/conf/storm.yaml
    depends_on:
        - my-nimbus
    links:
        - my-nimbus
    expose:
     - "8999"
my-supervisor-ui:
    image: storm:1.1.0
    container_name: supervisor-ui
    command: storm ui
    depends_on:
        - my-nimbus
    links:
        - my-nimbus
    ports:
     - "8080:8080"

您可以通过编辑端口零件来公开和绑定任何端口。我希望它能解决您的问题。

我解决了在docker compose命令行和新配置中向storm ui添加-c选项的问题,我解决了在docker compose命令行和新配置中向storm ui添加-c选项的问题,谢谢你在上面解释一下运行这个docker时你的storm.yaml在哪里file@ShujaAhmed对于给定的样本,my storm.yaml与docker compose位于同一层。您还可以使用DockerFile将storm.yaml添加到docker容器中。您的Dockerfile可能看起来是“FROM storm:2.2.0 ADD./storm.yaml/conf/storm.yaml”,您能否在上面解释一下运行此docker时您的storm.yaml位于何处file@ShujaAhmed对于给定的样本,my storm.yaml与docker compose位于同一层。您还可以使用DockerFile将storm.yaml添加到docker容器中。您的Dockerfile可能看起来是“FROM storm:2.2.0 ADD./storm.yaml/conf/storm.yaml”