데이터베이스를보기 위해 PHPMyAdmin-Container를 MySQL-Container에 연결하려고합니다.
$ docker run --name databaseContainer -e MYSQL_ROOT_PASSWORD = my-secret-pw -d mysql
을 통해 MySQL 컨테이너를 시작했습니다.
$ docker run --name myadmin -d --link databaseContainer : mysql -p 8080 : 8080 phpmyadmin / phpmyadmin
을 통한 PHPMyAdmin-Container
PHPMyAdmin에 로그인하려고하면 다음과 같은 결과가 나타납니다. mysqli_real_connect () : php_network_getaddresses : getaddrinfo 실패 : 이름이 확인되지 않습니다.
과
mysqli_real_connect () : (HY000 / 2002) : php_network_getaddresses : getaddrinfo 실패 : 이름이 확인되지 않습니다.
그건 그렇고, 나는 또한 wordpress 컨테이너를 시작했고 그것을 mysql에 연결했습니다.
해결 방법
하나씩 시작하는 대신 docker-compose
를 사용하세요.
docker-compose.yml 파일 만들기
version: '2'
services:
db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: my-secret-pw
ports:
# just if you also want to access it directly from you host
# node neede for phpmyadmin
- "3306:3306"
phpmyadmin:
image: phpmyadmin/phpmyadmin
depends_on:
- db
ports:
- "8080:8080"
그런 다음 docker-compose.yml
파일이있는 동일한 폴더에서 docker-compose up
을 사용하여 시작합니다.
브라우저를 사용하여 PHPmyadmin에 액세스하고 데이터베이스의 호스트 이름으로 'db'를 사용합니다. docker-compose.yml
파일의 서비스 이름이므로 dockers 내부 DNS 서비스를 사용하여 확인할 수 있습니다. 도커 컨테이너의 실제 IP에. 모든 링크가 자동으로 설정됩니다.
그것은 훨씬 더 간단합니다. 도커 실행은 일을 지나치게 복잡하게 만들고 그러한 일에는 실용적이지 않습니다.
참조 페이지 https://stackoverflow.com/questions/39054411
'MySql' 카테고리의 다른 글
MySQL # 1044- 'somedb'데이터베이스에 대한 사용자 'someusr'@ 'localhost'의 액세스가 거부되었습니다. (0) | 2020.11.03 |
---|---|
MySQL 서로 다른 데이터베이스 간의 MySQL InnoDB 외래 키 (0) | 2020.11.03 |
MySQL MySql 워크 벤치 CHECK 제약 (0) | 2020.11.03 |
MySQL 엔터티 프레임 워크를 사용하여 저장 프로 시저 실행 (0) | 2020.11.03 |
MySQL 쿼리 날짜> = 90 일 (0) | 2020.11.03 |
댓글