Docker를 배우려고하면 두 컨테이너를 서로 보지 못하는 데 문제가 있습니다. docker- 형식 2 파일을 사용할 때 프런트 엔드에서 데이터베이스에 연결하는 동안 오류가 발생합니다. 나는 바보 같은 접근 방법이라고 생각했던 것을 시도했다. using the WordPress example straight from the Docker website. 이 정확한 예를 사용하면 데이터베이스가 wordpress 컨테이너에서 찾을 수 없습니다. 다음과 같은 오류가 표시됩니다.Docker가 서로를 찾지 못하는 v2 컨테이너를 구성합니다 (v1이 있더라도)
Warning: mysqli::mysqli(): php_network_getaddresses: getaddrinfo failed: Name or service not known in - on line 22
Warning: mysqli::mysqli(): (HY000/2002): php_network_getaddresses: getaddrinfo failed: Name or service not known in - on line 22
MySQL Connection Error: (2002) php_network_getaddresses: getaddrinfo failed: Name or service not known
간단한 예제로 작업 버전 1 파일과 작동하지 않는 버전 2 파일을 표시했습니다. 이 둘의 유일한 차이점은 버전 번호와 "서비스"그룹의 제거입니다. 실제로 이러한 설정으로 워드 프레스를 실행하려고하고 있지 않다
version: '2'
services:
web:
image: wordpress
links:
- mysql
environment:
- WORDPRESS_DB_PASSWORD=password
ports:
- "8080:80"
mysql:
image: mysql:5.7
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_DATABASE=wordpress
작동하지 않습니다
web:
image: wordpress
links:
- mysql
environment:
- WORDPRESS_DB_PASSWORD=password
ports:
- "8080:80"
mysql:
image: mysql:5.7
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_DATABASE=wordpress
버전 2 고정 표시기-작성 작업 않습니다
버전 1 고정 표시기-작성 파일, 단지 버전 1 파일로 포맷 된 동일한 파일이 작동 할 때 왜 도커가 버전 2 파일을 작성하지 않는지 알아 내려고합니다. 나는 데이터베이스에 연결하는 다른 많은 예제 애플리케이션을 시도해 보았고 아무 것도 작동하지 못하게 할 수있다. 내가 사용하고
환경 :
$ uname -a
Linux vir-docker 4.4.0-62-generiC#83-Ubuntu SMP Wed Jan 18 14:10:15 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
$ docker -v
Docker version 1.13.1, build 092cba3
$ docker-compose -v
docker-compose version 1.11.1, build 7c5d5e4
아마도 버전 2의 보안 및/또는 네트워킹이 향상되었을 것입니다. MySQL 호스트 및 포트를 서비스 mysql의 이름으로 설정해야합니다. – rocksteady
[docker website] (https://docs.docker.com/compose/wordpress/)의 예제는 MySQL 호스트와 포트가 설정되어 있어도 작동하지 않습니다. – justinvoelker
버전 : '3'은 나를 위해 작동하지만 ... 2가 아닙니다. – user672009