Настройка PHP достойной среды разработки

0

После лет спагетти-кода (я итальянец, я действительно знаю, что такое спагетти) Я пытаюсь создать достойную среду разработки php.

Это мой боевой план:

  1. установите git и докер на моем ноутбуке;
  2. создать виртуальную среду докера настолько, насколько это возможно, для производственного LAMP (общего) сервера;
  3. используйте sshfs для монтирования корневого каталога веб-сервера Docker VE на моем ноутбуке;
  4. на ноутбуке, запустите git-репозиторий внутри точки монтирования;
  5. используйте мой любимый ide (студия aptana) для создания php-проекта в каталоге точек монтирования;
  6. проверьте код, указывающий браузер на докер VE ip;
  7. настроить учетную запись bitbucket для автоматического развертывания git-коммитов на рабочем сервере.

О чем вы думаете? Есть ли шанс, что это может сработать?

Благодарю!

Теги:
docker
bitbucket

1 ответ

0
Лучший ответ

Я предлагаю использовать официальное изображение докеры для php:

https://registry.hub.docker.com/_/php/

Это позволяет создать изображение, которое упаковывает ваш php-код, вместо того, чтобы отображать тома во время выполнения.

Пример 1 (с файлом Docker)

├── build_and_run.sh
├── Dockerfile
└── src
    └── index.php

Dockerfile

FROM php:5.6-apache
COPY src/ /var/www/html/

build_and_run.sh

Скрипт, который создает новый образ контейнера и запускает его:

docker build -t my-php-app .
docker run -it --rm --name my-running-app -p 8080:80 my-php-app

Apache настроен для прослушивания на порту 8080

Пример 2 (без файла Docker)

Изображение php также можно запустить без файла докеров. Просто укажите локальное отображение исходного кода:

docker run -it --rm --name my-apache-php-app -v "$(pwd)/src":/var/www/html -p 8080:80 php:5.6-apache
  • 0
    Спасибо за ваш ответ ... Но мне непонятно, как я могу отредактировать официальный образ php для репликации конфигурации рабочего сервера ... Должен ли я устанавливать / удалять модули из dockerfile? То же самое для редактирования php.ini? Еще один вопрос, если вы не возражаете: как насчет сервера БД? Вы бы поместили его в образ doker или оставили в отдельной среде? Большое спасибо, еще раз!
  • 0
    @ user1662618 В документации к изображению объясняется, как можно добавлять дополнительные модули. Если вы хотите скопировать другую машину, я думаю, вы могли бы создать свой собственный образ. Наконец, для простоты я запустил базу данных в другом контейнере и соединил их вместе. Снова я бы использовал стандартные контейнеры, чтобы сделать жизнь проще.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню