【Docker】Docker+Rails 컨테이너 구축시의 MYSQL 에러
Docker+Railsコンテナ構築時にUnknown MySQL server host ‘mysql’エラー
가 발생해 좀처럼 해결하지 않았기 때문에 비망으로.참고
DOCKER+RAILS 컨테이너 구축시 UNKNOWN MYSQL SERVER HOST ‘MYSQL’오류
https://www.somuriengineer.com/2019/02/12/dockerrails%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E6%A7%8B%E7% AF%89%E6%99%82%E3%81%AEunknown-mysql-server-host-mysql%E3%82%A8%E3%83%A9%E3%83%BC/
너무 세심한 Docker-compose에 의한 rails + MySQL on Docker의 환경 구축(Docker for Mac)
htps : // 코 m / 아즈 l915 / ms / 5b7063cbc80192343fc0
위의 Qitta입니다 매우 정중하게 Docker for Mac의 환경 구축은 기재되어 있으므로 할애.
빠진 오류
$ docker-compose run web rails db:create
시도하면,
오 r
Access denied for user ‘hoge’@’localhost’ to database ‘mysql’
원인추구
두 파일 중 하나가 좋지 않아 ...
작업 디렉토리/docker-compose.yml
version: '3'
services:
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: ****** <= 任意のパスワード
MYSQL_DATABASE: root
ports:
- "3306:3306"
web:
build: .
command: bundle exec rails s -p 3000 -b '0.0.0.0'
volumes:
- .:/app_name
ports:
- "3000:3000"
links:
- db
작업 디렉토리/config/database.yml
default: &default
adapter: mysql2
encoding: utf8
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
username: root
password: password # docker-compose.ymlのMYSQL_ROOT_PASSWORD
host: db # docker-compose.ymlのservice名
links:
를 database:mysql
로 보거나 root
로 해 보거나 db
로 되돌리거나 host:도 마찬가지로 변경해 보거나 결국은 Unknown MySQL server host 'mysql' 또는 Access denied for user 'hoge'@'localhost' to database ''이전에 aws로 프로덕션 환경 구축하고 있었을 때에도 mysql에 시달렸기 때문에 쓴 추억 ...
그 때는 확실히 root 권한으로부터 액세스 허가를 실시했을 것이다. 그냥 그런 어려운 오류가 아닌 것 같습니다 ...
해결 방법
참고로 기사에
恐らくですが、Dockerの古いイメージが残ってしまい、そちらを参照し続けてしまったことなどが原因かと思います。
그리고. 팀원이 이것과 비슷한 것을 말하고 있던 것을 기억한다다음 명령은 움직이지 않는 이미지를 포함한 모든 Docker 이미지를 삭제합니다.
작업 디렉토리
$ docker stop $(docker ps -q)
$ docker rm $(docker ps -aq)
$ docker rmi $(docker images -q)
"이것으로 다시 도전!"
Docker 시작
작업 디렉토리
$ docker-compose build # コンテナをビルド
$ docker-compose up # コンテナの一斉起動
DB 생성
$ docker-compose run web rails db:create
Starting portfolio_db_1 ... done
Created database 'app_name_development'
Created database 'app_name_test'
「오, 화내지 않아! 갈 수 있을지도!」
브라우저에서 localhost:300에 액세스하여 서버 시작 확인
「갈 수 있어!」
요약
2019년 10월 중순부터 개시하는 전직 활동을 향해 포트폴리오의 작성을 개시했으므로, 그때마다 빠진 부분을 비망록으로서 기사에 정리해 가려고 생각합니다. 다음은 프로덕션 환경에 배포합니다.
끝
Reference
이 문제에 관하여(【Docker】Docker+Rails 컨테이너 구축시의 MYSQL 에러), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/suzy1031/items/1b4e1d717b6052a02307텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)