#docker #kubernetes #container #orchestrator #microservice #infrastructure-as-code #devops #ci #cd 제목프로젝트42019-12-12 21:48작성자happiness01101. docker-compose.yml 파일을 다음과 같이 작성합니다.version: '3'services: db_server: image: happiness0110/db_server:9.9 environment: - MYSQL_DATABASE=osp - MYSQL_PASSWORD=test ports: - 3306:3306 deploy: replicas: 1 placement: constraints: [node.role != manager] render_server: image: happiness0110/render_server:9.9 entrypoint: /osp/render_server/wait-for-it.sh db_server:3306 -t 500 -- bash -c "cd /osp/render_server&&npm run render_server" ports: - 5000:5000 deploy: replicas: 2 placement: constraints: [node.role != manager] user_server: image: happiness0110/user_server:9.9 entrypoint: /osp/user_server/wait-for-it.sh db_server:3306 -t 500 -- bash -c "cd /osp/user_server&&npm run user_server" ports: - 8080:8080 deploy: replicas: 1 placement: constraints: [node.role != manager]2. 아마 정상적으로 작동하지 않을거에요.다운받은 user_server 이미지를 사용해서 컨테이너를 실행시킨 후, 내부의 .env 파일에 네이버 api를 사용하는데 필요한 키를 설정하고 이미지로 commit해서 써야합니다.다운받은 render_server 이미지를 사용해서 컨테이너를 실행시킨 후, 내부의 .env 파일에 카카오 api를 사용하는데 필요한 키를 설정하고 이미지로 commit해서 써야합니다.제가 사용했던 그대로 올리면 보안에 문제가 있어서 키를 전부 test로 바꾸어 놓았습니다.3. localhost:5000으로 접속해야 하니까, default 도커 머신의 네트워크 설정에서 http 프로토콜 포트 5000:5000으로 매핑하세요.4. 이제 docker-compose up을 실행한 후, localhost:5000으로 접속해보세요. 아마 웹의 메인 화면이 보일거에요.5. 안타깝게도 회원가입이 작동하지 않아요. 문제를 해결하지 못했어요.6. 도커 스웜을 사용하면 더 큰 문제가 있어요. docker service ls를 사용해서 확인해보면 서비스는 모두 작동하지만, localhost:5000으로 접속은 불가능하네요.7. 위의 문제를 해결하는 방법이 있습니다.위의 구조는 vue서버와 express서버로 서버가 분리되어 있는데제가 실험해 본 결과 서버를 분리하지 않고 express서버에서 직접 ejs등을 사용해서 렌더링하면 접속이 잘 됩니다.다만 서버를 vue와 express로 분리하면 문제가 발생합니다.8. 누군가 이 문제를 해결하게 된다면 댓글 부탁드립니다ㅠ 만약 제가 이 문제를 방학때 해결한다면 글을 업데이트 하겠습니다!#vue 목록수정삭제답변글쓰기 댓글 [0] 댓글작성자(*)비밀번호(*)내용(*) 댓글 등록 더보기이전Project4ININ2019-12-12다음Q&A _1ININ2019-12-12 Powered by MangBoard | 워드프레스 쇼핑몰 망보드