- Docker Swarm (Multi-Node) < /li>
Traefik как обратный прокси < /li>
Общая внешняя сеть для Ingress < /li>
mysql 8.4 (официальное изображение) < /li>
mysql 8.4 (официальное изображение) < /li>
mysql 8.4 (официальное изображение) < /li> < /li>
mysql 8.4 (официальное изображение) < /li>
mysql 8.4. Docker-compose.yml Содержание: < /p>Что я пробовал:Код: Выделить всё
version: "3.5" ######### NETWORKS ######### networks: traefik: name: proxy_swarm external: true ######### SERVICES ######### services: # ---- MYSQL ----- db: image: mysql:lts container_name: db volumes: - db_data:/var/lib/mysql env_file: - ./../.setup.env secrets: - db_root_password - db_app_password security_opt: - seccomp=unconfined - apparmor=unconfined networks: - traefik deploy: resources: limits: cpus: '0.80' reservations: cpus: '0.50' memory: 100M restart_policy: condition: on-failure delay: 5s max_attempts: 5 window: 120s labels: - "traefik.enable=false" # ---- PHPMYADMIN ----- dba: image: phpmyadmin/phpmyadmin:latest container_name: dba env_file: - ./../.setup.env networks: - traefik deploy: resources: limits: cpus: '0.80' reservations: cpus: '0.05' memory: 100M restart_policy: condition: on-failure delay: 5s max_attempts: 5 window: 120s labels: - "traefik.enable=true" - "traefik.docker.network=traefik" - "traefik.constraint-label=traefik-swarm" - "traefik.http.routers.dba.rule=HOST(`dba.example.com`)" - "traefik.http.routers.dba.entrypoints=web" - "traefik.http.routers.dba.middlewares=redirectHttpDba" - "traefik.http.routers.dba_secure.rule=HOST(`dba.example.com`)" - "traefik.http.routers.dba_secure.entrypoints=websecure" - "traefik.http.routers.dba_secure.service=dba" - "traefik.http.routers.dba_secure.tls.certresolver=traefik-cert-resolver" - "traefik.http.services.dba.loadbalancer.server.port=80" - "traefik.http.middlewares.redirectHttpDba.redirectscheme.scheme=https" - "traefik.http.middlewares.redirectHttpDba.redirectscheme.permanent=true" # ---- WORDPRESS ----- app: image: wordpress:latest container_name: app volumes: - app_content:/var/www/html/wp-content - ./../uploads.ini:/usr/local/etc/php/conf.d/uploads.ini env_file: - ./../.setup.env secrets: - db_app_password networks: - traefik deploy: resources: limits: cpus: '0.80' reservations: cpus: '0.05' memory: 100M restart_policy: condition: on-failure delay: 5s max_attempts: 5 window: 120s labels: - "traefik.enable=true" - "traefik.docker.network=traefik" - "traefik.constraint-label=traefik-swarm" - "traefik.http.routers.app.rule=HOST(`app.example.com`)" - "traefik.http.routers.app.entrypoints=web" - "traefik.http.routers.app.middlewares=redirectHttpApp" - "traefik.http.routers.app_secure.rule=HOST(`app.example.com`)" - "traefik.http.routers.app_secure.entrypoints=websecure" - "traefik.http.routers.app_secure.service=app" - "traefik.http.routers.app_secure.tls.certresolver=traefik-cert-resolver" - "traefik.http.services.app.loadbalancer.server.port=80" - "traefik.http.middlewares.redirectHttpApp.redirectscheme.scheme=https" - "traefik.http.middlewares.redirectHttpApp.redirectscheme.permanent=true" ######### SECRETS ######### secrets: db_root_password: file: ./../env_vars/.db_root_password db_app_password: file: ./../env_vars/.db_app_password ######### VOLUMES ######### volumes: db_data: app_content: < /code> Что работает: < /h2> Полный стек работает без проблем на моей локальной машине, даже используя режим Docker Swarm (Docker Deploy). MySQL 5.7 также работает без каких -либо специальных флагов.[ERROR] [MY-010457] [Server] --initialize specified but the data directory has files in it. Aborting. [ERROR] [MY-013236] [Server] The designated data directory /var/lib/mysql/ is unusable.
Использование с именованными томами (Volume_Name:/var/lib/mysql) - нет привязки
Удаление объема Docker rm) и даже Ormancy wip -wip -wip -wip -wip -wip -wip -wip -wip -wip -wip -wip -wip -wip -wip -wip -wip -wip -wip -wip -w /var/lib/docker/volumes/..../_data> - Проверка папки данных полностью пуста перед запуском
- Добавление Security_opt, чтобы попытаться соответствовать - -privialeged behavior:
.Код: Выделить всё
security_opt: - seccomp=unconfined - apparmor=unconfined - Попробуя Mounts TMPFS ON/var/lib/mysql
- Предварительное создание тома и его чистка по-прежнему приводит к той же ошибке
[*] Неудача происходит только в Swarm < /p>
< /li>
Похоже, что громкость предварительно получает докер (возможно, из тома по умолчанию изображения), что вызывает инициализируемый шаг MySQL, чтобы отбить < /p>
< /li>
Вопрос < /h2>
Какой правильный способ развернуть MySQL 8.4 в Docker Swarm без использования-привилегированного и без удара по ошибке каталога-инициализации данных? /var/lib/mysql?
Полностью воспроизводите поведение-привилегированного в стеке? /> Любое руководство от тех, кто управляет MySQL 8.x в производстве на рои.>
Подробнее здесь: https://stackoverflow.com/questions/796 ... irectory-h