Dockerfile vs docker run

Dockerfile vs docker run,docker,rabbitmq,dockerfile,Docker,Rabbitmq,Dockerfile,与手动运行Docker相比,使用Dockerfile在Docker中发布的端口存在问题。使用以下命令,Docker容器将成功启动,当我访问浏览器中的主机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释放我要使用的端口: doc

与手动运行Docker相比,使用Dockerfile在Docker中发布的端口存在问题。使用以下命令,Docker容器将成功启动,当我访问浏览器中的主机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,我就会收到“此站点无法访问192.168.99.100拒绝连接”

以下是我正在使用的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 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

在进一步测试之后,我发现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

在进一步测试之后,我发现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

也许你应该在停下来后再把它装起来。在docker停止后,尝试docker rm一些兔子。然后尝试docker compose up-d。为什么要执行
docker compose build
?还有,
docker compose ps
docker compose up-d
@kyur之后的结果是什么,我也在docker停止后使用了docker rm一些兔子,但没有用。@JHarris我已经将
docker ps
的结果添加到我问题的底部,也许你应该在停止后使用rm container。在docker停止后,尝试docker rm一些兔子。然后尝试docker compose up-d。为什么要执行
docker compose build
?还有,
docker compose ps
docker compose up-d
@kyur之后的结果是什么,在docker停止后,我还使用了docker rm some rabbit,但没有任何效果。@JHarris我已将
docker ps
的结果添加到我的问题底部,谢谢你回来回答你自己的问题这看起来像是一个
docker compose.yml
而不是
docker文件
谢谢你回来回答你自己的问题问题这看起来像是一个
docker compose.yml
而不是
Dockerfile