Docker 외부에서는 우분투 16.04 환경에서 내 django 앱에서 redis 및 rabbitmq의 IP 주소가 'localhost'로 설정됩니다. 그러나, 나는 웹 서비스를 docker로 마이그레이션하려고 노력 중이다. Docker의 공식 저장소 인 redis와 rabbitmq를 사용합니다.Rabbitmq IP 주소와 Docker의 Redis IP 주소
내 Django settings.py
에서 내 응용 프로그램에 연결하기 위해 redis 및 rabbitmq의 IP 주소를 명시해야합니다. Docker에서 IP 주소를 결정하는 방법에 대한 단서가 없습니다. 고정 표시기 - compose.yml에서, 구성은 아래에 적혀있다 :
version: '2'
services:
# RabbitMQ
rabbit:
hostname: my-rabbit
image: rabbitmq:3
ports:
- "5672:5672" # we forward this port because it's useful for
debugging
- "15672:15672" # here, we can access rabbitmq management plugin
#Redis
redis:
image: redis:latest
#Data Processing WS
web:
build: .
command: python manage.py runserver 0.0.0.0:9060 --noreload
volumes:
- .:/srv
ports:
- "9060:9060"
links: ["rabbit", "redis"]
내가 '로컬 호스트', 오류가에서
settings.CONNECTION = pika.BlockingConnection(pika.ConnectionParameters(host=settings.RABBIT_MQ_
IP_ADDRESS, heartbeat_interval=0))
web_1 | File "/usr/local/lib/python2.7/dist-
packages/pika/adapters/blocking_connection.py", line 339, in __init__
web_1 | self._process_io_for_connection_setup()
web_1 | File "/usr/local/lib/python2.7/dist-
packages/pika/adapters/blocking_connection.py", line 374, in
_process_io_for_connection_setup
web_1 | self._open_error_result.is_ready)
web_1 | File "/usr/local/lib/python2.7/dist-
packages/pika/adapters/blocking_connection.py", line 395, in _flush_output
web_1 | raise exceptions.ConnectionClosed()
web_1 | pika.exceptions.ConnectionClosed
시도했지만 여전히 작동하지 않습니다. 추가 연구에서 나는 여전히 건강 검진을 포함한다 : 시험 : [ "CMD", "컬", "-f", "http://172.17.0.3:15672"] 간격 : 30s 타임 아웃 : 10s 재시도 : 5 내 docker-compose.yml에 있습니다. 어떤 생각? –
바보 같은 질문이지만'docker-compose.yml'을 변경하기 전에'docker-compose down'을 실행하고 있습니까? – grizzthedj
실제로'docker-compose.yml'을 편집 한 후에'docker-compose up'을 종료하고'docker-compose build'를 수행하기 위해'ctrl + c'를 사용합니다. 괜찮습니까? –