조나한은 잘 됐다고 하셨었으니 윈도우에만 해당되는 오류일 수 있습니다. 모두 해결하고 생각해보니
아무래도 start.sh에서 docker-compose로 이미지들을 묶는 과정에서 이미지별로 compose파일을 올리다보니
에러가 발생한 것 같기도하네용.. 이미지 명도 도메인으로 사용 해도 된다고 알고있긴한데
작업하다보니 헷갈려서 cmi prefix달려있는 컨테이너 명으로 작업했습니다.
MySQL : Host '컨테이너 private 주소' is not allowed to connect to this MySQL Server

원인:
- 도커 컨테이너는 private ip가 무작위로 배정됩니다.
- DB컨테이너가 api서버 컨테이너와 같은 네트워크에서 동작하는 게 아니었습니다.
- 컴포즈 파일 하나에 모든 컨테이너가 있는 게 아니라 여러개의 컴포즈를 로드하기 때문에 default네트워크가 생성되지 않았습니다.
참고자료

중간 사고과정:
- 테이블에 접근권한이 없어서 그런 것인가? ->init 쿼리 파일에
GRANT ALL PRIVILEGES ON *.* TO root@'ip주소' IDENTIFIED BY '비밀번호'' WITH GRANT OPTION;을 추가한다.
api에서만 접근하므로 컨테이너만 한정할 수 있는 방법이 없을까?
-> 도커 연습 레포 에서 links로 비슷한 오류를 해결했으나 개념이 잘 기억나지 않아 블로그 추가 자료에서 정보를 얻은 후 위 grant절 ip주소에 적용.
-> root 계정 생성 시 와일드 카드로 모든 접근을 허용하고 root로 접속하는데 테이블 권한 문제일리가 없었다
-> 해당 상태에서 grant절을 제거해도 정상 접속확인됨.
-> 확인해보니 도커 연습 레포와 달리 쉘스크립트에서 이미지를 따로 따로 묶는 형태여서 그런지 run시 default네트워크가 생성되지 않았음.
-> 같은 네트워크가 아니어서 인/아웃바운드 설정이 필요했던 것으로 원인이 판명됨
-> 인/아웃바운드를 수동으로 설정하는 것보다 그냥 links 추가로 같은 네트워크로 묶는 게 효율적 + links 사용 시 설정된 컨테이너에서만 링크된 컨테이너 이름을 도메인처럼 사용가능하므로 network로 설정했을 때보다 접속 범위를 좁혀 보안적인 측면에서 이점이 있을 것 같음.




단점은 기타 설정 시 컨테이너에만 접근 설정을 하게되면 보안측면에선 좋지만 외부에서 HeidiSQL같은 프론트 소프트웨어로 접속하기가 힘들다.
조나한은 잘 됐다고 하셨었으니 윈도우에만 해당되는 오류일 수 있습니다. 모두 해결하고 생각해보니
아무래도 start.sh에서 docker-compose로 이미지들을 묶는 과정에서 이미지별로 compose파일을 올리다보니
에러가 발생한 것 같기도하네용.. 이미지 명도 도메인으로 사용 해도 된다고 알고있긴한데
작업하다보니 헷갈려서 cmi prefix달려있는 컨테이너 명으로 작업했습니다.
MySQL : Host '컨테이너 private 주소' is not allowed to connect to this MySQL Server

원인:
참고자료
중간 사고과정:
GRANT ALL PRIVILEGES ON *.* TO root@'ip주소' IDENTIFIED BY '비밀번호'' WITH GRANT OPTION;을 추가한다.api에서만 접근하므로 컨테이너만 한정할 수 있는 방법이 없을까?
-> 도커 연습 레포 에서 links로 비슷한 오류를 해결했으나 개념이 잘 기억나지 않아 블로그 추가 자료에서 정보를 얻은 후 위 grant절 ip주소에 적용.
-> root 계정 생성 시 와일드 카드로 모든 접근을 허용하고 root로 접속하는데 테이블 권한 문제일리가 없었다
-> 해당 상태에서 grant절을 제거해도 정상 접속확인됨.
-> 확인해보니 도커 연습 레포와 달리 쉘스크립트에서 이미지를 따로 따로 묶는 형태여서 그런지 run시 default네트워크가 생성되지 않았음.
-> 같은 네트워크가 아니어서 인/아웃바운드 설정이 필요했던 것으로 원인이 판명됨
-> 인/아웃바운드를 수동으로 설정하는 것보다 그냥 links 추가로 같은 네트워크로 묶는 게 효율적 + links 사용 시 설정된 컨테이너에서만 링크된 컨테이너 이름을 도메인처럼 사용가능하므로 network로 설정했을 때보다 접속 범위를 좁혀 보안적인 측면에서 이점이 있을 것 같음.
단점은 기타 설정 시 컨테이너에만 접근 설정을 하게되면 보안측면에선 좋지만 외부에서 HeidiSQL같은 프론트 소프트웨어로 접속하기가 힘들다.