docker의 redash와 로컬 mysql을 연결
redash란?
이번 목적
(redash 자체의 개발은 실시하지 않는 가정입니다)
git clone
git clone https://github.com/GitSumito/redash-v7.git
*버전 8이 가장 최신이지만 버그가 많이 나왔기 때문에 버전 7을 복제했습니다.또한 docker의 build시에 에러가 많이 발생했기 때문에 build 끝난 것을 클로닝하고 있습니다
환경 변수 설정 (postgres에 인증없이 액세스 할 수 있음)
redash.env 파일에
POSTGRES_HOST_AUTH_METHOD=trust
를 쓰면 postgres 액세스시에 나오는 auth의 에러가 나오지 않게 됩니다만 용도에 따라 구분해 주세요컨테이너 시작
docker-compose run --rm server create_db
db에 ddl을 흘려docker-compose up -d
컨테이너 시작* 로그를보고 싶다면
docker-compose up
에서 명령을 실행하십시오.redash에 액세스
http://localhost指定したport
방문redash 등록 화면이 표시되면 정보를 입력하고 [Setup]으로 등록
데이터베이스와의 협력
Setup이 완료되면 아래 화면으로 이동합니다.
데이터베이스 연동에 사용하는 것은 중간의이 부분입니다.
*이미지에는 사선이 그려져 있지만 초기 상태에서는 그리지 않은 상태에서 정확합니다.
1.
Connect a Data Source
를 누르십시오.mysql을 리소스로 지정한 화면 뒤에 이러한 화면이 표시된다고 생각합니다.
여기서
Host
에 host.docker.internal
를 입력하십시오.User
와 Password
에 mysql 정보를 입력하십시오.저장
[save] 버튼을 누름
dashboard로 돌아가기
2.Create your first query
를 눌러 데이터가 연동되면 완료됩니다.보충
왜 Host가
host.docker.internal
와 같은 문자열이 될까요?그것은 docker와 Mac은 친구이지만 docker와 mysql은 친구의 친구입니다.
즉, 타인이므로 docker에서 직접 mysql을 연계 할 수 없기 때문입니다.
×docker→mysql
○docker→Macポート→mysql
그래서 한 번 맥의 포트를 통과해야합니다.
그래서 Mac 포트에 해당하는 것이
host.docker.internal
입니다.덧붙여서
host.docker.internal
는 docker만이 알고 있는 포트, 목적지를 위해 Mac에서 액세스하려고 해도 액세스는 할 수 없기 때문에 아래와 같은 화면이 되어 버립니다앞으로도
host.docker.internal
도움이 될 것입니다!잘못 등 있으면 코멘트 부탁드립니다!
끝내!
Reference
이 문제에 관하여(docker의 redash와 로컬 mysql을 연결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/babyse/items/fa0e67911526ac5fdc82텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)