Dockerfile与docker一起运行

时间:2016-06-02 06:36:10

标签: docker rabbitmq dockerfile

与使用Docker手动运行相比,使用Dockerfile在Docker中发布端口时出现问题。使用以下命令,Docker容器成功启动,当我使用http://192.168.99.100:8080访问浏览器中的主机IP地址(192.168.99.100)时,将加载RabbitMQ Web管理仪表板。

docker run -d --hostname my-rabbit --name some-rabbit -p 8080:15672 rabbitmq:3.5.6-management

此时,我运行以下命令从Dockerfile中释放我想要使用的端口:

docker stop some-rabbit

当我运行以下docker-compose命令时,一旦我访问上面的同一个URL(http://192.168.99.100:8080),我收到“此站点无法访问192.168.99.100拒绝连接。”

docker-compose build
docker-compose up -d

这是我正在使用的Dockerfile:

version: '2'
services:
    rabbitmq:
        container_name: rabbit
        hostname: rabbit
        ports:
            - "8080:15762"
        image: rabbitmq:3.5.6-management

以下是docker ps

docker run的结果
6c5a97bd51bc rabbitmq:3.5.6-management "/docker-entrypoint.s" 16 seconds ago Up 15 seconds 4369/tcp, 5671-5672/tcp, 15671/tcp, 25672/tcp, 0.0.0.0:8080->15672/tcp some-rabbit

以下是docker ps

docker-compose up -d的结果
99987aeb5cbf rabbitmq:3.5.6-management "/docker-entrypoint.s" 13 seconds ago Up 11 seconds 4369/tcp, 5671-5672/tcp, 15671-15672/tcp, 25672/tcp, 0.0.0.0:8080->15762/tcp rabbitmq

1 个答案:

答案 0 :(得分:2)

经过进一步测试,我发现RabbitMQ使用的所有端口必须在Dockerfile中显式发布。

version: '2'
services:
    rabbitmq:
        container_name: rabbitmq
        hostname: rabbitmq
        ports:
            - "4369:4369"
            - "5672:5672"
            - "15672:15672"
            - "25672:25672"
        image: rabbitmq:3.5.5-management