
myapp컨테이너와 myapp-dev컨테이너와 연결된 Caddy(로드밸런서)가 myapp-dev 컨테이너를 찾지 못해 myapp-dev 컨테이너로 연결되는 url 접속시 503에러가 발생했다.

두 컨테이너가 서로 다른 디렉토리에서 실행되어, Docker가 각각 별개의 네트워크(_webnet)를 생성했다. 그로인해 이미 Caddy와 연결된 myapp 컨테이너는 접속이 잘 되지만 추가로 연결하려는 myapp-dev는 인식을 못한 것이다.

워크플로우 스크립트deploy-main.yml과 deploy-dev.yml의 docker compose 명령어에 -p 옵션을 추가했다.
deploy-dev.yml
- name: Deploy Docker services run: | ssh prod 'cd /opt/app-backup && sudo docker compose -p promptplace -f docker-compose.yml up -d --build app caddy'deploy-main.yml
- name: Deploy Docker services (Dev) run: | ssh prod 'cd /opt/app-dev && sudo docker compose -p promptplace -f docker-compose.yml up -d --build app-dev'
이를 통해 실행 경로가 다르더라도 두 환경이 promptplace라는 하나의 네트워크를 공유하도록 설정을 변경했다. (참고로 여기서 promptplace는 내 프로젝트 이름이다.)
이제 Caddy가 동일한 네트워크 상에 있는 Dev 컨테이너를 정상적으로 인식하고 트래픽을 라우팅한다.
