Докер запускает wordpress + mysql + gulp (узел)

Мне удалось запустить 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, я получаю закрытый контейнер, но когда я создаю контейнер докера с приложением Kitematic узла, я получаю его правильно. Что я здесь делаю не так? И выглядит ли моя конфигурация хорошо, кроме моей основной проблемы?

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
1 044
1

Ответы 1

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

EXPOSE 3000    
EXPOSE 3001

Да, я пытаюсь создать образ, а затем запустить его с помощью docker-compose. Но когда я выполняю docker-compose, все контейнеры, кроме node. Так что я пытаюсь сначала запустить его в одиночку. Я понял, что даже выполнить команду docker run из узла образа: latest у меня даже не работает .. Что там не так? изображение или моя команда запуска докера? docker run -d node

jardindeden 14.11.2018 15:44

Извините, я не понял ваш вопрос. Что вы хотите от команды "gulp"? Это запускает ваш проект?

Clayton Harbich 14.11.2018 16:44

Хорошо, я добавлю свой gulpfile для объяснения. Но, чтобы продолжить, я использую gulp для обновления моих php, js и css моей темы и плагина, просматривая их с помощью gulp browsersync.

jardindeden 15.11.2018 11:06

@jardindeden Снова обновлен. Это помогло?

Clayton Harbich 20.11.2018 18:05

Другие вопросы по теме