docker-compose에서 시작한 인스턴스에 동일한 네트워크 내에서 연결할 수 없어 막힌 이야기
1270 단어 docker-composeMongoDBPubSub
환경 변수에서 연결할 URL을 지정합니다.
TESTDB_URL=mongodb
PUBSUB_EMULATOR_HOST=pubsub
mongodb
및 pubsub
는 docker-compose.yml에서 컨테이너 이름으로 설정됩니다.그건 그렇고, 언어 환경은 go입니다.
mongodb는 문제없이 연결할 수 있지만 pubsub는 연결할 수 없습니다.
왜?
잘 생각해 보면 host를 지정하고 있지만 port를 지정하지 않습니다.
그래서 expose하고 있는 port를 지정합니다.
TESTDB_URL=mongodb
PUBSUB_EMULATOR_HOST=pubsub:8085
그러면 pubsub에 연결됩니다 .
그러나 왜 mongodb는 포트를 지정하지 않고 연결할 수 있었습니까?
mongodb driver를 살펴보면 거기에 이유가있었습니다.
If the port number is not provided for a server, it defaults to 27017.
그렇다고 명시적으로 기술해 두면 좋을 것 같습니다.
TESTDB_URL=mongodb:27017
PUBSUB_EMULATOR_HOST=pubsub:8085
거기에 집착할까라는 느낌이었습니다만, 이유를 알고 좋았다
Reference
이 문제에 관하여(docker-compose에서 시작한 인스턴스에 동일한 네트워크 내에서 연결할 수 없어 막힌 이야기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hirokisan/items/ffb5a11ce9f84d4a49fa텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)