gpt4 book ai didi

docker rabbitmq 如何使用 docker 文件公开端口和重用容器

转载 作者:行者123 更新时间:2023-12-05 01:20:13 24 4
gpt4 key购买 nike

嗨,我发现如何创建一个运行 rabbitmq 容器的 docker 文件非常令人困惑,我可以在其中公开端口,以便我可以通过 localhost 和端口号导航到管理控制台。

我看到有人提供了这个 dockerfile 示例,但不确定如何运行它?

version: "3"
services:
rabbitmq:
image: "rabbitmq:3-management"
ports:
- "5672:5672"
- "15672:15672"
volumes:
- "rabbitmq_data:/data"
volumes:
rabbitmq_data:

我让兔子在本地工作得很好,但每个人都告诉我 docker 是 future ,按照这个速度我不明白。

以上看起来像运行rabbitmq容器的有效方法吗?我在哪里可以找到一个完全可以理解的例子?
  • 我需要一个 docker 文件还是我误解了它?
  • 如何指定端口?在上面的例子中,第一个数字 5672:5672 是什么,最后一个数字是什么?
  • 我如何确定当我再次运行容器时,说在机器重启后我得到了相同的容器?

  • 非常感谢

    安德鲁

    最佳答案

    Docker-compose

    您发布的内容不是 Dockerfile .这是一个 docker-compose 文件。

    要运行它,你需要

    1) 创建一个名为 docker-compose.yml 的文件并将以下内容粘贴到其中:

    version: "3"
    services:
    rabbitmq:
    image: "rabbitmq:3-management"
    ports:
    - "5672:5672"
    - "15672:15672"
    volumes:
    - "rabbitmq_data:/data"
    volumes:
    rabbitmq_data:

    2) 下载 docker-compose ( https://docs.docker.com/compose/install/ )

    3)(重新)启动Docker。

    4)在控制台运行:
    cd <location of docker-compose.yml>
    docker-compose up

    我需要一个 docker 文件还是我误解了它?

    你有一个 docker-compose 文件。 rabbitmq:3-management是使用 RabbitMQ Dockerfile 构建的 Docker 镜像(您 不需要 需要。该镜像将在您第一次运行时下载 docker-compose up

    如何指定端口?在上面的例子中,第一个数字 5672:5672 是什么,最后一个数字是什么?
    "5672:5672"指定队列的端口。
    "15672:15672"指定管理插件的端口。

    左侧的数字是您可以从容器外部访问的端口。因此,如果您想使用不同的端口,请更改 上的端口。左 .正确的是内部定义。

    这意味着您可以在 http:\\localhost:15672 之后访问管理插件。 (或更一般地说 http:\\<host-ip>:<port exposed linked to 15672> )。

    您可以在 Docker Hub 上查看有关 RabbitMQ 图像的更多信息。 .

    我如何确定当我重新运行容器时,比如在机器重新启动后我得到了相同的容器?

    我假设您想要相同的容器,因为您想要保留数据。您可以使用 docker-compose stop重启你的机器,然后运行 ​​ docker-compose start .然后使用相同的容器。但是,如果容器被删除,您将丢失其中的数据。

    这就是您使用 Volumes 的原因.在您的容器中收集的数据也会存储在您的主机中。因此,如果您移除容器并启动一个新容器,数据仍然存在,因为它存储在主机中。

    关于docker rabbitmq 如何使用 docker 文件公开端口和重用容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51578794/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com