docker- compose mysql 컨테이너에서 워드프레스 컨테이너에 대한 액세스를 거부함
mysql 5.7 container에서 wordpress container에 대한 접근을 거부하는 문제가 있습니다.저는 도커 컴포지트를 사용하고 있고 맥 OSX에서 도커를 실행하고 있습니다.도커는 사용 가능한 최신 버전이어야 합니다.
여기 제 도커작곡입니다.
version: '2'
services:
wordpress:
depends_on:
- db
image: wordpress:latest
container_name: wordpress
ports:
- "8000:80"
- "443:443"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_NAME: blog
WORDPRESS_DB_USER: blog_admin
WORDPRESS_DB_PASSWORD: userpasswd
networks:
- wordpress_net
db:
image: mysql:5.7
container_name: db
ports:
- "3306:3306"
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: rootpasswd
MYSQL_DATABASE: blog
MYSQL_USER: blog_admin
MYSQL_PASSWORD: userpasswd
networks:
- wordpress_net
networks:
wordpress_net:
volumes:
db_data:
db 컨테이너의 로그는 다음과 같습니다.
2017-05-12T23:28:06.138429Z 321 [Note] Access denied for user 'blog_admin'@'172.19.0.3' (using password: YES)
워드프레스 컨테이너의 로그는 다음과 같습니다.
MySQL Connection Error: (1045) Access denied for user 'blog_admin'@'172.19.0.3' (using password: YES)
Warning: mysqli::mysqli(): (HY000/1045): Access denied for user 'blog_admin'@'172.19.0.3' (using password: YES) in - on line 22
도커프:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1b02f0146fe7 wordpress:latest "docker-entrypoint..." 25 minutes ago Up 26 seconds 0.0.0.0:443->443/tcp, 0.0.0.0:8000->80/tcp wordpress
5d932ed6c269 mysql:5.7 "docker-entrypoint..." 25 minutes ago Up 25 minutes 0.0.0.0:3306->3306/tcp db
시도해 본 내용:
- 도커 호스트를 다시 시작하는 중입니다.
- 도커 - compose rm -v 를 다시 도커 - compose합니다.
- 워드프레스 컨테이너 외부에 있는 사용자 자격 증명 및 루트 자격 증명으로 로그인합니다.
- 도커 이미지를 제거하고 처음부터 다시 꺼냅니다.
- 루트 인증 정보 사용
WORDPRESS_DB_HOST, WORDPRESS_DB_USER
db 컨테이너에 접속하면 db의 모든 환경을 볼 수 있습니다.워드프레스 컨테이너가 계속 자체적으로 다시 시작됩니다.스택 오버플로에서 플러시 권한 및 새 사용자 계정 설정을 권장하는 답변을 하나 보았지만 다른 컴퓨터에서 이 문제가 다시 나타날 수 있는 잘못된 행동을 하고 있는지 알고 싶습니다.
변경 사항:
WORDPRESS_DB_USER: blog_admin
WORDPRESS_DB_PASSWORD: userpasswd
받는 사람:
WORDPRESS_DB_USER: root
WORDPRESS_DB_PASSWORD: rootpasswd
그 다음은:
docker-compose up -d --build
사용자 이름Blog_admin
에 접근할 수 없는create database
.
내가 한 일:
docker-compose rm -v
내가 항상 사용해왔던 것처럼 나에게 효과가 없었습니다.docker-compose down
컨테이너를 폐쇄할 수 있습니다.그리고 이것이 문제의 근원이라고 생각합니다.
- 내 폴더와 함께 폴더를 삭제했습니다.
docker-compose.yml
그리고 새로운 것을 만들었습니다. - 그런 다음 구성만으로 작성 파일을 만들었습니다.
mysql
컨테이너, 그것을 발사하고 연결을 시도했습니다.mysql
서버 이름:root
. - 됐습니다.그 다음에 컨테이너를 멈추어야 했습니다.
docker stop containerID
. - 그리고 뛰었습니다.
docker-compose rm -v
(어떤 이유에서인지)rm -v
컨테이너를 중지할 때만 작동합니다.사용 시 사용 안 함docker-compose down
이것은 제가 db컨테이너용 볼륨을 사용하고 wordpress container config로 yml 파일을 완성하면서 db의 상태가 지속되게 만들었습니다.
저는 결국 이런 일을 당했습니다.
version: '2'
services:
wordpress:
image: wordpress:latest
container_name: wordpress-blog
depends_on:
- mysql
ports:
- "8000:80"
- "443:443"
restart: always
environment:
WORDPRESS_DB_HOST: mysql
WORDPRESS_DB_USER: admin
WORDPRESS_DB_PASSWORD: password
WORDPRESS_DB_NAME: wordpress
mysql:
image: mysql:5.7
container_name: mysql-db
ports:
- "3306:3306"
restart: always
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: wordpress
MYSQL_USER: admin
MYSQL_PASSWORD: password
참고: 이전에 워드프레스 컨테이너 뿐만 아니라 db 컨테이너 자체에서 데이터베이스에 연결하는 데 문제가 있었습니다.위에서 설명한 방법이 이 문제를 해결하는 데 도움이 되었습니다.
간단한 솔루션 변경
volumes:
- db_data:/var/lib/mysql
와 비슷한 정도로
volumes:
- db_data:/var/lib/mysqlx
언급URL : https://stackoverflow.com/questions/43947824/docker-compose-mysql-container-denies-access-to-wordpress-container
'programing' 카테고리의 다른 글
ORA-22275 오류: 잘못된 LOB 로케이터가 지정되었습니다. (0) | 2023.10.27 |
---|---|
Python에서의 프로세스간 통신 (0) | 2023.10.27 |
phpMyAdmin에서 저장 프로시저를 작성하는 방법은? (0) | 2023.10.22 |
UIScrollView에서 스크롤을 프로그래밍 방식으로 강제 중지하려면 어떻게 해야 합니까? (0) | 2023.10.22 |
MySQL WITH RECURIC을 사용하여 계정의 계층도를 어떻게 수행합니까? (0) | 2023.10.22 |