Я новичок в мире докеров. Я пытаюсь создать среду, содержащую несколько служб:
- Nginx
- MySQL * 1006
- PHPMyAdmin
- 1010 * кот *
- vsftp
Эти службы работают нормально, и я смог открыть его.
Но у меня есть некоторые проблемы, которые не могут получить логику в этом сервисе докера. https://github.com/nanoninja/docker-nginx-php-mysql -> Это источник, который я сейчас использую, плюс я изменил файл, чтобы он стал пользовательским
version: '3'
services:
web:
image: nginx:alpine
volumes:
- "./etc/nginx/default.conf:/etc/nginx/conf.d/default.conf"
- "./etc/ssl:/etc/ssl"
- "./web:/var/www/html"
- "./etc/nginx/default.template.conf:/etc/nginx/conf.d/default.template"
ports:
- "8000:80"
- "3000:443"
environment:
- NGINX_HOST=${NGINX_HOST}
command: /bin/sh -c "envsubst '$$NGINX_HOST' < /etc/nginx/conf.d/default.template > /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'"
restart: always
depends_on:
- php
- mysqldb
php:
image: nanoninja/php-fpm:${PHP_VERSION}
restart: always
volumes:
- "./etc/php/php.ini:/usr/local/etc/php/conf.d/php.ini"
- "./web:/var/www/html"
composer:
image: "composer"
volumes:
- "./web/app:/app"
command: install
myadmin:
image: phpmyadmin/phpmyadmin
container_name: phpmyadmin
ports:
- "8080:80"
environment:
- PMA_ARBITRARY=1
- PMA_HOST=${MYSQL_HOST}
restart: always
depends_on:
- mysqldb
mysqldb:
image: mysql:${MYSQL_VERSION}
container_name: ${MYSQL_HOST}
restart: always
env_file:
- ".env"
environment:
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
ports:
- "8989:3306"
volumes:
- "./data/db/mysql:/var/lib/mysql"
tomcat:
image: hitipm/tomcat9
ports:
- "8011:8080"
restart: always
volumes:
- "./tomcat:/usr/local/tomcat"
# command: /opt/tomcat/bin/deploy-and-run.sh
vsftpd:
image: fauria/vsftpd
restart: always
environment:
- FTP_USER=ftpuser
- FTP_PASS=supersecret
- ONLY_UPLOAD=NO
- PASV_ENABLE=YES
- PASV_ADDRESS=127.0.0.1
- PASV_MIN=21200
- PASV_MAX=21210
ports:
- 0.0.0.0:20:20
- 0.0.0.0:21:21
- 21100-21110:21100-21110
volumes:
- ./home:/home/vsftpd
- ./logs:/var/log/vsftpd
Я развернул свой военный файл здесь для кота, но у меня есть функция для загрузки файла в nginx (ранее я работал в окружении centos 7), папка которого /usr/share/nginx/html
. Если это так, как я полагаю, из докера Tomcat и загрузить файл в докер Nginx?
А для vsftp как мне подключить его из докера vsftp к докер nginx? Не могу понять идею докера, но я пытаюсь создать рабочую среду для тестирования моих приложений.
Какую часть я пропускаю? Или я просто не могу использовать метод docker для достижения того, что я хочу в моей текущей среде развертывания?