使用“时出现rabbitmq身份验证错误”;docker compose up“;而不是",;docker run“;
我有一个Python应用程序,它使用连接到RabbitMQ代理。基本上,我是这样连接到代理的,这很好:使用“时出现rabbitmq身份验证错误”;docker compose up“;而不是",;docker run“;,docker,docker-compose,rabbitmq,pika,Docker,Docker Compose,Rabbitmq,Pika,我有一个Python应用程序,它使用连接到RabbitMQ代理。基本上,我是这样连接到代理的,这很好: import pika parameters = pika.URLParameters('amqp://user:pass@server:5672/queue') connection = pika.BlockingConnection(parameters) 现在,我正在从这个应用程序构建Docker映像 FROM python:3.9-slim WORKDIR /app COPY re
import pika
parameters = pika.URLParameters('amqp://user:pass@server:5672/queue')
connection = pika.BlockingConnection(parameters)
现在,我正在从这个应用程序构建Docker映像
FROM python:3.9-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
ENTRYPOINT[ "python", "-m" , "my_app"]
我使用docker compose,因为我不喜欢记住长时间的docker run
命令,也不喜欢用一堆shell脚本来处理start/stop/rm/logs等
version: '3'
services:
my-app:
image: 'my-app:latest'
volumes:
- /path/to/app.conf:/app/app.conf
command: 'run --config app.conf'
tty: true
现在,当我使用docker compose up
启动容器时,我从rabbitmq得到一个身份验证错误:
AMQPConnector-报告失败:AMQPConnectorAMQPHandshakeError:ProbableAuthenticationError:客户端在连接阶段断开连接,表明可能存在身份验证错误:(“ConnectionClosedByBroker:(403)”拒绝访问-使用普通身份验证机制拒绝登录。有关详细信息,请参阅代理日志文件。“,”
这似乎很奇怪,我可以从Python终端使用相同的配置很好地连接
但我真正不明白的是:
docker run -ti -v /path/to/app.conf:/app/app.conf my-app run --config app.conf
现在,当容器启动时,身份验证工作正常
这怎么可能?在这种情况下,docker-run
和docker-compose-up
之间有什么区别
环境:
Docker版本20.10.4,内部版本d3cb89edocker compose版本1.27.3,构建未知
亚马逊Linux 4.14.231-173.360.amzn2.x86_64