繁体   English   中英

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

[英]docker rabbitmq how to expose port and reuse container with a docker file

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

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

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

我的兔子在当地工作得很好,但是每个人都告诉我码头工人是未来,以这个速度我不明白。

上面看起来像是运行Rabbitmq容器的有效方法吗? 在哪里可以找到完整的可以理解的示例?

  1. 我需要泊坞窗文件还是误解了?
  2. 如何指定端口? 在上面的示例中,第一个数字5672:5672是什么,最后一个是什么?
  3. 如何确保再次运行容器时(例如在计算机重新启动后)获得相同的容器?

非常感谢

安德鲁

Docker组成

您发布的不是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-compose文件。 rabbitmq:3-management ,是使用RabbitMQ的Dockerfile(你不需要建造的码头工人形象的图像将被下载运行首次docker-compose up

如何指定端口? 在上面的示例中,第一个数字5672:5672是什么,最后一个是什么?

"5672:5672"指定队列的端口。

"15672:15672"指定管理插件的端口。

左侧的数字是您可以从容器外部访问的端口。 因此,如果要使用其他端口,请更改左侧的端口。 正确的是在内部定义的。

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

您可以在Docker Hub上查看RabbitMQ映像的更多信息。

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

我假设您要使用相同的容器,因为您要保留数据。 您可以使用docker-compose stop重启机器,然后运行docker-compose start 然后使用相同的容器。 但是,如果曾经删除过该容器,则会丢失其中的数据。

这就是为什么要使用Volumes的原因 容器中收集的数据也将存储在主机中。 因此,如果您删除容器并启动一个容器,则数据仍然存在,因为它已存储在主机中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM