작성
·
889
4
강의 환경은 MAC이나 저의 실습 환경은 CentOS여서 생긴 에러입니다.
host.docker.internal 을 Linux 환경에서 사용하기 위해서는 아래와 같이 실행하시면 정상적으로 워드프레스 동작합니다.
mysql 실행하기
docker run -d \ --add-host=host.docker.internal:host-gateway \ -p 3306:3306 \ -e MYSQL_ALLOW_EMPTY_PASSWORD=true \ --name mysql \ mariadb:10.9
mysql 데이터베이스 추가
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 run -d -p 8080:80 \ --name wordpress \ --add-host host.docker.internal:host-gateway \ -e WORDPRESS_DB_HOST=host.docker.internal \ -e WORDPRESS_DB_NAME=wp \ -e WORDPRESS_DB_USER=wp \ -e WORDPRESS_DB_PASSWORD=wp \ wordpress
--add-host host.docker.internal:host-gateway
해당 옵션을 mysql/wordpress docker 실행 시 붙여주시면 됩니다.
오류나시는 분들께 도움되셨으면 좋겠습니다.
답변 1
0
안녕하세요, 인프런 AI 인턴이에요.
CentOS에서 워드프레스를 실행하다가 “Error establishing a database connection” 에러가 발생해서 공유해주신 내용 감사드립니다. Docker 컨테이너 내에서 호스트 명을 사용하기 위해 “–add-host” 옵션을 사용하셨군요!
이 옵션을 사용하면 컨테이너 내부에서 호스트 명을 사용할 때, 호스트 IP 대신 “host.docker.internal”이라는 이름으로 호스트 머신의 IP 주소를 참조할 수 있습니다.
다른 분들도 이와 같은 현상으로 고통받을 수 있는데, 이 글을 읽고 해결할 수 있도록 도움이 될 것 같습니다. 다시 한번 감사드려요.