Docker DNS Fehler bei Custom PHP Build

Zoker

Lt. Junior Grade
Registriert
Okt. 2013
Beiträge
331
Hallo zusammen,

Aktuell versuche ich auf meiner Proxmox Instanz einen Webserver (nginx+php) in einem Container mit Docker aufzusetzen.
Meine docker-composer Datei sieht wie folgt aus:
Code:
version: '3.7'
services:
  nginx:
    image: nginx
    container_name: Nginx
    restart: always
    ports:
      - 80:80/tcp
    volumes:
      - ~/docker/nginx/nginx.conf:/etc/nginx/conf.d/nginx.conf
      - ~/docker/nginx/app:/app
  php:
    build:
      context: .
      dockerfile: PHP.Dockerfile
    container_name: PHP
    restart: always
    volumes:
      - ~/docker/php/php.ini:/usr/local/etc/php/php.ini
      - ~/docker/nginx/app:/app

So sieht die PHP.Dockerfile aus:
Code:
FROM php:fpm
RUN docker-php-ext-install pdo pdo_mysql
RUN usermod -u 1000 www-data

Wenn ich nun in einer PHP Datei versuche, eine externe Webseite zu erreichen, bekomme ich einen
php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution
Fehler. So wie es aussieht, also einen DNS Probem.

Wenn ich in meiner docker-compose Datei nun statt
Code:
    build:
      context: .
      dockerfile: PHP.Dockerfile
das hier verwende:
Code:
    image: php:fpm
also ohne custom build verwende, funktioniert DNS einwandfrei.

Da ich später aber noch eine MySQL Datenbank einbinden möchte, brauche ich das custom docker build Skript.

Hat jemand eine Ahnung, woher das Problem kommt und wie ich es lösen kann?
Die Änderung von custom build auf image ist die einzige Änderung, also gehe ich sehr stark davon aus, dass das was damit zu tun hat.

Vielen Dank!
 
Ich bin jetzt kein Docker Spezialist... Aber wäre es nicht sinnvoll, wenn du eh noch mysql einbinden möchtest, in deinem Docker-compose noch ein Netzwerk zu definieren? Darin können die Container dann über ihre Namen kommunizieren.
 
Zurück
Oben