Dockerfile与docker运行

我在使用Dockerfile的Docker中发布端口的问题与手动使用docker run的问题相比。 使用下面的命令,Docker容器启动成功,当我访问浏览器中的主机IP地址(192.168.99.100)时,加载了http://192.168.99.100:8080 – RabbitMQ Webpipe理仪表板。

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 rundocker run docker ps的结果

 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-compose up -d docker ps docker-compose up -d后的docker ps的结果

 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 

进一步testing后,我发现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