Docker запускает wordpress + mysql + gulp (узел) - PullRequest
0 голосов
/ 14 ноября 2018

Мне удалось запустить WordPress с mysql и phpmyadmin все вместе с Docker.

Проблема в том, что я использую gulp с моими темами, плагинами и поэтому мне нужно реализовать синхронизацию браузера между моими файлами хоста имой докер-контейнер.

Я искал в Интернете и обнаружил только один пример, очень близкий к моему делу: Browsersync внутри контейнера Docker .

Поэтому я попытался следоватьего файл docker-compose.yml путем добавления нового узла контейнера докера с личным Dockerfile.

Вот мои файлы docker-compose и Dockerfile (node):

docker-compose.yml:

version: '3'

services:
  wordpress:
    image: wordpress:latest
    build:
      dockerfile: Dockerfile
      context: ./
    container_name: wordpress
    links:
      - mysql
    environment:
      - WORDPRESS_DB_USER=user
      - WORDPRESS_DB_NAME=db_name
      - WORDPRESS_TABLE_PREFIX=prefix_
      - WORDPRESS_DB_PASSWORD=password
      - WORDPRESS_DB_HOST=mysql:3306
    restart: unless-stopped
    ports:
      - 80:80
    volumes:
      - file_data:/var/www/html/Project
    networks:
      - back
  mysql:
    image: mysql:latest
    container_name: mysql
    command: mysqld --default-authentication-plugin=mysql_native_password
    environment:
      - MYSQL_ROOT_PASSWORD=password
      - MYSQL_DATABASE=db_name
      - MYSQL_HOST=localhost
      - MYSQL_PASSWORD=password
    restart: unless-stopped
    ports:
      - "3306:3306"
    volumes:
      - db_data:/var/lib/mysql
      - ./config/database/db.sql:/docker-entrypoint-initdb.d/db.sql
    networks:
      - back
  phpmyadmin:
    depends_on:
      - mysql
    image: phpmyadmin/phpmyadmin
    container_name: phpmyadmin
    restart: unless-stopped
    ports:
      - 8088:80
    environment:
      PMA_HOST: mysql
      MYSQL_ROOT_PASSWORD: password
    networks:
      - back
  node:
    restart: unless-stopped
    image: node:latest
    container_name: nodejs
    depends_on:
      - wordpress
    volumes:
      - file_data:/usr/src/app
    build:
      dockerfile: Dockerfile
      context: ./Gulp
    ports:
      - 3000:3000
      - 3001:3001
networks:
  back: {}
volumes:
  db_data: {}
  file_data: {}

Dockerfile:

FROM node:latest

# Create app directory
WORKDIR /usr/src/app/Gulp

# Install app dependencies
COPY Gulp Project ../

RUN npm rebuild && npm install && npm install gulp@next && npm install --global gulp-cli

EXPOSE 8080
CMD [ "gulp" ]

Но проблема в любом случаеМой Dockerfile выглядит, даже пустым только с FROM node:latest, когда я делаю docker build моего Dockerfile, я получаю выходной контейнер, но когда я создаю Docker-контейнер с приложением узла Kitematic, я правильно его поднимаю.Что я здесь не так делаю?И выглядит ли моя конфигурация хорошо, кроме моей основной проблемы?

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 14 ноября 2018

В файле Docker вашего узла вам нужно изменить порт с 8080

EXPOSE 3000    
EXPOSE 3001
...