2016-06-20 3 views
2

Пожалуйста, проверьте мой Докер-Compose файл:докер контейнер генерирует ошибки: php_network_getaddresses: getaddrinfo не удалось: Имя или служба не известны

version: '2' 
services: 
    db: 
    image: mysql:latest 
    networks: 
     app_net: 
     ipv4_address: 172.16.238.10 
     ipv6_address: 2001:3984:3989::10 
    volumes: 
     - "./data/db:/var/lib/mysql" 
    restart: always 
    environment: 
     MYSQL_ROOT_PASSWORD: wordpress 
     MYSQL_DATABASE: wordpress 
     MYSQL_USER: wordpress 
     MYSQL_PASSWORD: wordpress 
    wordpress: 
    image: wordpress 
    links: 
    - db 
    ports: 
     - "8000:80" 
    environment: 
    - WORDPRESS_DB_PASSWORD=wordpress 
    networks: 
     app_net: 
     ipv4_address: 172.16.238.12 
     ipv6_address: 2001:3984:3989::10 
    volumes: 
    - ./code:/code 
    - ./html:/var/www/html 


networks: 
    app_net: 
    driver: bridge 
    driver_opts: 
     com.docker.network.enable_ipv6: "true" 
    ipam: 
     driver: default 
     config: 
     - subnet: 172.16.238.0/24 
     gateway: 172.16.238.1 
     - subnet: 2001:3984:3989::/64 
     gateway: 2001:3984:3989::1 

Теперь два контейнера работают: enter image description here

IP-адрес для двух контейнеры правильно настроены. Но когда я подключаюсь к http://172.16.238.12:8000/ (172.16.238.12 - это IP-адрес wordpress). В нем говорится: «Невозможно подключиться».

Когда я проверить файлы журналов на docker_wordpress_1, он показывает мне:

Warning: mysqli::mysqli(): (HY000/2002): php_network_getaddresses: getaddrinfo failed: Name or service not known in - on line 10 

MySQL Connection Error: (2002) php_network_getaddresses: getaddrinfo failed: Name or service not known 

Я didnot понять, что пошло не так.

ответ

0

Я вижу, что у вас нет сопоставления портов в разделе «db». (с той же сетевой конфигурацией).
Я использую следующую секцию DB и могу установить соединение после этого:

db: 
    build: 
    context: . 
    dockerfile: ./compose/mysql/Dockerfile 
    volumes: 
    - mysql_data_dev:/var/lib/mysql 
    restart: always 
    ports: 
    - "3306:3306" 
    container_name: typewriter_db 
    networks: 
    app_net: 
     ipv4_address: 172.16.238.10 
     ipv6_address: 2001:3984:3989::10