inflearn logo
강의

Course

Instructor

Docker Guide for Beginners

Docker Basic Commands (volume)

-v 옵션 후 workpress database 에러

113

eji10251002

2 asked

0

stop, rm 해서 mysql 지우고

mysql 경로 만든 다음에

docker run -d -p 3305:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=true --name mysql -v 제 경로/mysql:/var/lib/mysql mariadb:10.9

다시 하고

docker exec -it mysql mysql

create database wp CHARACTER SET utf8; grant all privileges on wp.* to wp@'%' identified by 'wp'; flush privileges;

quit
이거까지 정상적으로 잘했습니다.

docker ps로 mysql로 잘 떠있는 것도 확인 가능합니다.

그런데 localhost:8080으로 workpress 띄우면

error establishing a database connection이 뜹니다.

3306이 이미 사용중이라고 해서 3305로 했고 -v 옵션 하기전에는 3305로 잘떠서 실습에 문제 없었습니다. 확인 좀 부탁드리겠습니다 ㅠㅠ

docker

Answer 1

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. 솔송주님!

현재 발생한 문제는 주로 데이터베이스 연결 정보(MYSQL 환경 변수)와 관련된 문제로 보입니다. 또한 데이터를 저장할 경로를 지정할 때 발생할 수 있는 권한 문제도 확인해보시는 것이 좋습니다. 비슷한 문제를 겪었던 여러 수강생의 경험을 참고하여 답변을 드리겠습니다.

  1. WORDPRESS_DB_HOST 확인:
    • MySQL 컨테이너가 3305 포트로 실행 중이므로, WordPress 컨테이너의 환경 변수가 이를 정확히 반영하도록 설정되어 있는지 확인해야 합니다. 특히 WORDPRESS_DB_HOST 설정 시 host.docker.internal:3305와 같이 포트 번호까지 정확히 입력해야 합니다.

관련된 질문을 통해서도 문제 해결에 도움을 드릴 수 있을 것 같습니다. 아래 링크들을 참고해 주세요.

  1. 볼륨 마운트 경로의 권한 확인:

    • 호스트의 /var/lib/mysql에 마운트 된 디렉토리에 MySQL이 데이터를 기록할 수 있는 충분한 권한이 부여되어 있는지 확인해 보세요. 파일 시스템의 권한 문제는 데이터베이스 연결에 장애를 일으킬 수 있습니다.
  2. 컨테이너 내부의 MySQL 접근 확인:

    • WordPress 컨테이너 내에서 MySQL 컨테이너로의 네트워크 연결이 제대로 이루어지는지 docker exec -it 워드프레스컨테이너명 또는 ID /bin/bash로 들어가서 MySQL 접속 시도해 보세요.

위의 링크들과 설명을 참고하여 문제를 해결해 나가시길 바랍니다. 저도 여러 해결책을 기반으로 답변드리고 있는 만큼, 궁금한 점이나 추가로 필요한 부분이 있으면 언제든지 질문 주세요.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

0

eji10251002

WORDPRESS_DB_HOST 설정 시 host.docker.internal:3305와 같이 포트 번호까지 정확히 입력해야 합니다.
> 해당 부분 network 부분에서
docker run -d -p 8080:80 \ --network=app-network \ -e WORDPRESS_DB_HOST=mysql \ -e WORDPRESS_DB_NAME=wp \ -e WORDPRESS_DB_USER=wp \ -e WORDPRESS_DB_PASSWORD=wp \ wordpress
이렇게 되어있어서..바꿨습니다.

e WORDPRESS_DB_HOST=host.docker.internal:3305 이렇게 했을때는 문제가 없는데 ㅠㅠ network에서는 3305를 어떻게 처리해야할까요

실습코드

0

100

1

Error establishing a database connection 질문 드립니다.

0

328

1

다중 컨테이너 실행 (APP)

0

180

1

ghost 실습 데이터베이스 에러

0

319

1

ghost 관리자 화면, 환경변수 url

0

222

1

ghost 실습 - 환경변수 url (2024)

0

239

1

hellonode 실습 질문있습니다.

0

182

1

docker-compose.yml 속성 문의

0

280

1

docker run 명령어중 /bin/sh 파라미터 문의

0

399

1

docker run -p 3000:3000 실행 시 오류

0

448

1

node app.js 실행 에러

0

323

1

Permission denied

0

668

1

result code build 시에 오류 있으신 분들

4

360

2

frontend, backend environment port 속성 관련 질문

0

370

1

app.js 실행 시 http 모듈 관련 이슈

0

337

1

방명록 배포과정중 질문이 있습니다.

0

302

1

Error establishing a database connection 에러 해결좀 해주세요

0

1392

1

docker 설치 오류

0

623

1

도커 기본 명령어 진행 중 막히는 부분

0

350

1

custom docker와 Base Image

0

241

1

안녕하세요 -d 옵션과 --rm 옵션에 대해서 질문을 하고자 합니다!

0

273

1

-v flag 에 질문있습니다

0

249

1

윈도우 파워쉘로 도커를 할라고하는데 컨테이너 만들기는 어떻게 해야되나요

0

772

1

안녕하세요! 블로그 관련 질문 드립니다!

0

191

1