Не отображается начальная страница установки док-контейнера wordpress на основе alpine linux

Вот моя конфигурация:

ОС: Windows 10 Корпоративная x64 [Версия 10.0.14393]

Docker Toolbox: Docker версии 1.12.5, сборка 7392c3b docker-compose версии 1.9.0, сборка 2585387

Мой докер-compose.yml:

version: '2'

services:

  wordpress:
    image: wordpress:4.7.0-php7.0-fpm-alpine
    links:
      - "mysql:mysql-database"
    ports:
      - 8080:80
      - 9000:9000
    expose:
      - "3306"
      - "8080"
      - "80"

    environment:
      WORDPRESS_DB_PASSWORD: example


  mysql:
    image: mysql
    ports:
      - 3306:3306
    expose:
      - "3306"
    environment:
      MYSQL_ROOT_PASSWORD: example

Запуск с помощью: docker-compose up -d

После этого страница установки WordPress не отображается на http://192.168.99.100:8080/.

Если я изменю тег wordpress на 4.7.0-php7.0-apache, все будет работать нормально. Есть ли ошибка в образе alpine wordpress или мне просто нужно открыть некоторые порты?


person Exeller666    schedule 29.12.2016    source источник
comment
С тегом 4.7.0-php7.0-fpm-alpine ваш WordPress не может подключиться к mysqldb. в соединении отказано. Проверьте docker logs. Я не знаю почему, но если вы проверите разницу в файлах докеров тегов, вы, вероятно, найдете ее.   -  person lvthillo    schedule 29.12.2016
comment
Журналы из контейнера alipne:   -  person Exeller666    schedule 29.12.2016
comment
29-Dec-2016 12:30:36] ВНИМАНИЕ: fpm запущен, pid 1 [29-Dec-2016 12:30:36] ВНИМАНИЕ: готово к обработке подключений   -  person Exeller666    schedule 29.12.2016
comment
Журналы из контейнера mysql: 2016-12-29T12:29:57.698912Z 0 [Примечание] Начало списка таблиц без разделов 2016-12-29T12:29:57.708032Z 0 [Примечание] Конец списка таблиц без разделов таблицы 2016-12-29T12:29:57.708189Z 0 [Примечание] mysqld: готов к соединениям. Версия: '5.7.17', сокет: '/var/run/mysqld/mysqld.sock', порт: 3306 MySQL Community Server (GPL)   -  person Exeller666    schedule 29.12.2016


Ответы (1)


это альпийское изображение было сделано только с помощью php-fpm, и его необходимо использовать вместе с веб-сервером, таким как nginx.

Есть мой подход:

В файле docker-compose.yml

version: '2'

services:
  web:
    image: nginx:latest
    ports:
      - 8080:80
    volumes:
      - ./site.conf:/etc/nginx/conf.d/default.conf:ro
      - /etc/localtime:/etc/localtime:ro
    volumes_from:
      - wordpress
  wordpress:
    image: wordpress:4.7.0-php7.0-fpm-alpine
    environment:
      WORDPRESS_DB_PASSWORD: example
      WORDPRESS_DB_HOST: mysql
  mysql:
    image: mysql
    environment:
      MYSQL_ROOT_PASSWORD: example
      MYSQL_DATABASE: wordpress

И site.conf:

server {
    listen 80;
    index index.php index.html;
    server_name $hostname;
    error_log  /var/log/nginx/error.log;
    access_log /var/log/nginx/access.log;
    root /var/www/html;

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass wordpress:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }
}
person Thiago Almeida    schedule 29.12.2016
comment
Я получаю сообщение об ошибке: ОШИБКА: для веб-сайта Невозможно создать контейнер для веб-службы: недопустимая спецификация подключения привязки C:\\Users\\ExelleR\\Desktop\\Work\\wordpress\\site.conf:/etc/nginx/conf .d/default.conf:ro: Неверная спецификация тома: 'C:\Users\ExelleR\Desktop\Work\wordpress\site.conf:/etc/nginx/conf.d/default.conf:ro' ОШИБКА: обнаружены ошибки при подъёме проекта. - person Exeller666; 03.01.2017
comment
Чтобы предотвратить ошибки, связанные с путями к томам в Windows с помощью Docker Toolbox, выполните: $env:COMPOSE_CONVERT_WINDOWS_PATHS=1 в PowerShell. Это происходит из-за docker-compose 1.9.0. - person Exeller666; 04.01.2017