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