Docker 컨테이너를 사용하여 로컬 개발 환경을 설정하고 있습니다. docker-compose.yml은 다음과 같습니다.
version: '2'
services:
db:
image: mongo:3
mq:
image: rabbitmq:3
api:
build: .
image: my_app/api
ports:
- "3000:3000"
links:
- db
- mq
environment:
- NODE_ENV=development
오류없이 시작됩니다. Docker는 실행중인 컨테이너 3 개를 나열합니다.
docker-compose up -d
docker ps
e90e5a8b5d33 my_app/api "/usr/local/bin/node " 0.0.0.0:3000->3000/tcp my_app_api_1
42bfcd971b16 mongo:3 "/entrypoint.sh mongo" 27017/tcp my_app_db_1
a0685a816c47 rabbitmq:3 "/docker-entrypoint.s" 4369/tcp, 5671-5672/tcp, 25672/tcp my_app_mq_1
그러나 다른 컨테이너에서 실행중인 컨테이너에 연결하려고하면
docker run --link my_app_mq_1:mq --link my_app_db_1:db -it worker
오류가 발생합니다
docker: Error response from daemon: Cannot link to /my_app_mq_1, as it does not belong to the default network.
나는 또한 시도했다
docker run --link my_app_mq_1:mq --link my_app_db_1:db -it --net default worker
같은 오류입니다.
그렇다면 docker-compose로 시작된 실행중인 컨테이너에 어떻게 연결할 수 있습니까?
--net
위해 명령 앞에 넣어야합니다 . 공식 redis 도커 이미지를 실행하려고 할 때이 문제가 발생했습니다.