Q&A

책을 따라하다가 막히는 부분이 있나요?
질문을 남겨주세요.

p.610 err입니다

3 years, 8 months ago

yepp4359 yepp4359

책과 같이 이미지는 실행했는데 마이그레이션 실패하고 확인해보니 위와같은 멘트 뜨네요 ㅠ


해결방법 있을까요..?


특이사항이라면  .env.prod를 참조한다고 생각해서 prod랑 prod.db 의 유저이름을 바꿔줘도 똑같이 바뀌기전 이름을 저렇게 찾더라구요


구글링을 좀 해봤는데 남들은 psql 명령어를 써서 금방 해결했다고 하는데

저는 linux2에서 해서그런지 명령어도 못알아듣고.. 아주 억울해죽겠어요 


taegon
taegon   3 years, 8 months ago

안녕하세요.

일단 질문해주신 상황으로 볼 때, 상황을 정확히 인지하시고, 여러 방면으로 문제를 해결해보려고 하신 것 같네요. 첨부하신 스크린샷으로 볼때, 데이터베이스의 아이디와 비번이 매칭이 되지 않아서 생기는 문제로 보이네요.

우선, 말씀하신 것처럼, .env.prod와 .env.prod.db의 정보를 수정하셨으면, 수정된 아이디로 접속하는 것이 보이는 것이 맞습니다. 현재 사용하고 계신 docker-compose.yml에서 두 설정파일명(.env.prod와 .env.prod.db)을 쓰고 있나요?

만약 docker-compose.yml에서 문제가 없다면, 설정정보를 읽어서 제대로 반영되는 것이 맞습니다. 두 설정파일 모두 수정한 게 맞는지요? 설정이 잘 되었다면, 도커를 실행하였을때, 이 정보를 이용하여 아이디가 제대로 표시되어야 합니다. 현재는 "eleclv_db_user"로 접속을 시도하였지만, 접속할 수 없다는 에러메시지 입니다.

혹시 마이그레이션하기 전에 docker-compose를 다시 실행하셨나요? 도커 이미지를 다시 생성할 필요는 없지만, 도커 컨테이너를 다시 실행해주셔야, 설정파일에 쓴 정보가 반영이 됩니다. 아래와 같이 도커 컨테이너를 멈추었다가 다시 구동해주시면 변경된 정보가 반영이 됩니다.
docker-compose down
docker-compose up -d

만약 아이디가 원하는대로 잘 보이시면, 설정파일은 문제가 없고, 데이터베이스에 설정된 아이디와 비번이 문제일 수 있습니다. 작업을 차근차근 진행하면서 데이터베이스를 계속 쓰고 계셨으면, 이전에 작업했던 아이디와 비번으로 이미 데이터베이스가 설정이 되어 있으므로, 바꾸기 전 아이디와 비번을 이용하여 접속하셔야 하고, 검색해 보신 것처럼, psql를 이용하여 아이디와 비번을 추후에 바꾸어주실 수도 있습니다.

현재 상황에서는 db 인스턴스가 정상적으로 실행되는 것으로 보이므로, 도커를 이용해서 접속하실 수 있습니다. 우리는 postgresql을 도커를 이용해서 돌리고 있기 때문에, 우분투든, linux2이든 상관 없이 운영중인 도커 인스턴스에서 실행할 수 있습니다. 너무 억울해하지마세요. 

docker-compose exec db psql -d 데이버베이스명 -U 설정하신 DB유저명

이렇게 하시면 postgresql에 접속 하실 수 있구요. 찾아보신 것처럼 psql명령을 이용하여 비밀번호를 변경할 수 있습니다. 

여기까지 오셨으면, 웹사이트를 거의 다 만드셨을텐데, 앞으로 어떤 사이트를 만드시고 운영하실지 궁금하네요. 화이팅하세요. 문제가 생기시면 언제든 글 남겨주세요.

고맙습니다.

Updated: March 3, 2021, 3:31 a.m.

yepp4359
yepp4359   3 years, 8 months ago

해결결과 말씀드립니다

docker-compose exec 를 쓰고 적어야하는걸 몰랐었는데 덕분에 잘 알게되었습니다~


해결은 재 빌드 후 기존에 리눅스에 올려놓았던것 제거 하고 새로 빌드 하니까 되었습니다~



Updated: March 4, 2021, 10:08 p.m.

Leave a Comment:
목록보기
Search
  • 자유게시판
  • Q&A