В моей системе запущены отдельные контейнеры для Apache2, PHP и mysql. Файлы содержимого, такие как веб-контент и базы данных, хранятся в подключенных томах в хост-системе. Идея в том, что я могу легко заменять отдельные контейнеры при необходимости.
Я хочу добавить контейнер phpmyadmin в эту настройку, но я не уверен, как его связать. Ниже приведен мой compose файл, с разделом phpmyadmin внизу.
На сервере, отличном от Docker, я бы просто создал псевдоним в конфигурации Apache для папки установки, но как мне указать Apache в этой настройке? Могу ли я инициализировать контейнер phpmyadmin перед контейнером Apache, а затем смонтировать том в контейнере phpmyadmin из Apache? Тем самым получая доступ к файлам для сервера?
Спасибо.
version: '3.2'
volumes:
apache2Config:
external: true
webContent:
external: true
databases:
external: true
networks:
frontend:
backend:
ipam:
driver: default
config:
- subnet: 172.19.0.0/16
services:
php:
build:
context: './php7.1/'
args:
PHP_VERSION: ${PHP_VERSION}
image: php7.1.26-fpm:1.0
restart: always
container_name: php
networks:
backend:
ipv4_address: 172.19.1.2
volumes:
- webContent:/var/www
web:
build: ./apache2/
image: apache2:1.0
restart: always
container_name: AOW_apache2Server
depends_on:
- php
- mariadb
networks:
backend:
ipv4_address: 172.19.1.1
frontend:
expose:
- "80"
- "81"
- "443"
- "8083"
ports:
- "80:80/tcp"
- "81:81"
- "443:443"
- "8083:8083"
volumes:
- apache2Config:/mnt/apache2Conf
- webContent:/var/www
mariadb:
build: ./mariaDB/
image: mariadb_10.4.0
container_name: mariaDB_10.4.0
networks:
backend:
ipv4_address: 172.19.1.3
ports:
- "3306:3306"
environment:
- MYSQL_ROOT_PASSWORD=***
volumes:
- databases:/var/lib/mysql
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: phpmyadmin
restart: always
depends_on:
- web
- mariadb
expose:
- 80
networks:
backend:
ipv4_address: 172.19.1.4
frontend:
ports:
- 8080:80
links:
- mariadb
environment:
PMA_ARBITRARY: 1
PMA_HOST: mariadb_10.4.0
PMA_PORT: 3306