Миграция Drupal на Kubernetes

#docker #drupal #drupal-8

#docker #drupal #drupal-8

Вопрос:

У меня есть Drupal, работающий на EC2 со следующей структурой каталога

 $ tree /var/www/cms -L 1
/var/www/cms
├── composer.json
├── composer.lock
├── config
├── docroot
├── drush
├── example.vhost.conf
├── README.md
└── vendor
  

Это с глубиной 2

 $ tree /var/www/cms -L 2
/var/www/cms
├── composer.json
├── composer.lock
├── config
│   ├── development
│   └── sync
├── docroot
│   ├── autoload.php
│   ├── core
│   ├── favicon.ico
│   ├── index.php
│   ├── libraries
│   ├── modules
│   ├── profiles
│   ├── robots.txt
│   ├── sites
│   ├── themes
│   ├── update.php
│   └── web.config
├── drush
│   └── README.md
├── example.vhost.conf
├── README.md
└── vendor
    ├── alchemy
    ├── asm89
    ├── autoload.php
    ├── behat
    ├── bin
    ├── bower-asset
    ├── caxy
    ├── cebe
    ├── chi-teck
    ├── composer
    ├── consolidation
    ├── container-interop
    ├── cweagans
    ├── defuse
    ├── dflydev
    ├── dmore
    ├── dnoegel
    ├── doctrine
    ├── drupal
    ├── drupal-composer
    ├── drush
    ├── easyrdf
    ├── egulias
    ├── ezyang
    ├── fabpot
    ├── fileeye
    ├── grasmash
    ├── guzzlehttp
    ├── instaclick
    ├── j7mbo
    ├── jakub-onderka
    ├── jcalderonzumba
    ├── kub-at
    ├── lcobucci
    ├── league
    ├── lsolesen
    ├── masterminds
    ├── mikey179
    ├── mkalkbrenner
    ├── myclabs
    ├── nikic
    ├── paragonie
    ├── pear
    ├── phar-io
    ├── phenx
    ├── phpdocumentor
    ├── phpspec
    ├── phpunit
    ├── predis
    ├── psr
    ├── psy
    ├── ralouphie
    ├── se
    ├── sebastian
    ├── squizlabs
    ├── stack
    ├── stecman
    ├── swagger-api
    ├── symfony
    ├── symfony-cmf
    ├── textalk
    ├── theseer
    ├── twig
    ├── typo3
    ├── webflo
    ├── webmozart
    ├── weitzman
    └── zendframework
  

Но в docker container ( drupal:8.9.6-apache ) структура каталогов

 # tree /opt/drupal -L 1
/opt/drupal
|-- composer.json
|-- composer.lock
|-- vendor
`-- web
  

с глубиной 2

 # tree /opt/drupal -L 2
/opt/drupal
|-- composer.json
|-- composer.lock
|-- vendor
|   |-- asm89
|   |-- autoload.php
|   |-- composer
|   |-- doctrine
|   |-- drupal
|   |-- easyrdf
|   |-- egulias
|   |-- guzzlehttp
|   |-- laminas
|   |-- masterminds
|   |-- paragonie
|   |-- pear
|   |-- psr
|   |-- ralouphie
|   |-- stack
|   |-- symfony
|   |-- symfony-cmf
|   |-- twig
|   `-- typo3
`-- web
    |-- INSTALL.txt
    |-- README.txt
    |-- autoload.php
    |-- core
    |-- example.gitignore
    |-- index.php
    |-- modules
    |-- profiles
    |-- robots.txt
    |-- sites
    |-- themes
    |-- update.php
    `-- web.config
  

Чтобы переместить мое существующее приложение в структуру docker dir, как мне сопоставить мою существующую структуру dir?

Ответ №1:

Если идея состоит в том, чтобы просто протестировать ваш контейнер, а затем развернуть его где-нибудь еще, вы можете изучить возможность подключения ваших локальных каталогов к docker container ( docker run -v /host/directory:/container/directory ) . Вы также можете рассмотреть возможность добавления каталога и включения его в контейнер docker (недостатком будет большой контейнер и что-то сложное для перенастройки) . Если вы смотрите на контейнерную оркестровку, такую как k8s, объектами, на которые вы смотрите, будут volumeMounts, configmaps и т. Д.