[英]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容器的有效方法吗? 在哪里可以找到完整的可以理解的示例?
非常感谢
安德鲁
您发布的不是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"
指定队列的端口。
"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.