Среда разработки php на базе docker

Запуск PHP приложения на Docker контейнерах (PHP-FPM, Nginx, PostgreSQL)

За последний год программное обеспечение для автоматизации развертывания в среде виртуализации на уровне операционной системы набирает большие обороты. Эта статья послужит новичкам в этой сфере примером, как нужно упаковывать свое приложение в Docker контейнеры.

В классическом виде, PHP приложение представляет из себя следующие составляющие:

1. Установка Docker

Для начала работы, нам потребуется Docker. Скачать его можно на официальном сайте Docker.

2. Создание образов

Docker создает образы на основе DockerFile файлов, в котором описывается функционал. Мы создадим 3 образа для наших составляющих.

DockerFileNginx

В данном DockerFile мы создаем пользователя www-data с группой 82 и устанавливаем Nginx. Последняя строка COPY предполагает, что у вас конфигурация приложения лежит в папке config/website.conf. Она скопируется в /etc/nginx/conf.d/website.conf.

DockerFilePostgresql

В этом образе, мы будем отталкиваться от образа postgres:9.5.2 и выполним команду для определения локали и языка.

DockerFile

Этот образ послужит нам основным образом для нашего приложения. Сначала мы устанавливаем все необходимое для PHP и PHP-FPM. Далее, мы копируем текущую папку приложения в /usr/src/app, где будет распологаться наше приложение. В самом конце мы запускаем PHP-FPM.

Создание образов на основе DockerFile’ов

И так, у нас есть есть DockerFile’ы, на основе которых мы должны создать образы. Образы создаются очень просто. Достаточно выполнить следующие команды:

Мы создаем образы, прикрепляем их к нашему аккаунту на Docker Hub. Теперь, нам нужно отправить наши образы на репозиторий в Docker Hub. Выполняем следующие команды:

Запуск образов на сервере

Мы почти у цели! Нам осталось загрузить образы из репозитория и запустить их. Загружаем их с помощью следующих команд:

Осталось их запустить. Делается это так же просто.

Вуаля! Наше приложение запущено на Docker контейнерах. И тем не менее, всем читателям-новичкам я бы обязательно ознакомиться с документацией Docker.

Всем желаю успехов в освоении новых технологий!

Источник

Локальная среда для PHP разработки с помощью Docker

Среда разработки php на базе docker. Смотреть фото Среда разработки php на базе docker. Смотреть картинку Среда разработки php на базе docker. Картинка про Среда разработки php на базе docker. Фото Среда разработки php на базе docker

В этой статье описывается как собрать минимальную локальную среду для разработки на PHP используя Docker (Докер) и Docker-compose.

Здесь мы не будем изучать «Что такое Docker и как его установить?», подробная инструкция есть на официальном сайте.

Docker — программное обеспечение для автоматизации развёртывания и управления приложениями в среде виртуализации на уровне операционной системы. Позволяет «упаковать» приложение со всем его окружением и зависимостями в контейнер, который может быть перенесён на любую Linux-систему с поддержкой cgroups в ядре, а также предоставляет среду по управлению контейнерами.

Docker Compose — это инструментальное средство, входящее в состав Docker. Оно предназначено для решения задач, связанных с развёртыванием проектов.

Для чего?

Многие веб разработчики используют в своей работе такие «сборки» как OpenServer, XAMMP и подобные. Для простых зачать, типа создания блога на Вордресс, использование такой сборки вполне допустимо и позволяет выполнить все задачи. В OpenServer даже есть возможность менять версию PHP, MySQL, Apache.

Но иногда возникает необходимость быстро поднять идентичную среду разработки на другом компьютере для вашего коллеги или добавить к среде разработки определенную версию Node.js, или Redis, как быть в этом случае? Тут нам и поможет Докер.

Сейчас мы один раз сконфигурируем необходимую нам среду разработки на php и сможем с легкостью разворачивать ее на любом компьютере с помощью одной команды в терминале.

В нашей среде для разработки будут следующие компоненты:

В будущем добавить/убрать/изменить любой компонент очень просто с помощью конфигурационных файлов Docker и Docker-compose.

Приступаем

Создадим основную папку, например docker-lamp, которая будет корневой, а внутри создадим следующую структуру:

sites — тут будут лежать наши проекты

data
mysql — тут будут храниться файлы наших баз данных
logs — сюда будут записываться все логи

config
php — все настройки контейнера и php.ini
nginx — — все настройки контейнера и конфигурационные файлы

Среда разработки php на базе docker. Смотреть фото Среда разработки php на базе docker. Смотреть картинку Среда разработки php на базе docker. Картинка про Среда разработки php на базе docker. Фото Среда разработки php на базе docker

Создаем в корневой папке файл docker-compose.yml и добавим в него следующее содержание (я постарался его прокомментировать чтобы не возникало вопросов):

Образы nginx и mysql прекрасно работают из коробки, а вот официальный образ php совсем пустой и в него не включены никакие расширения, еще мы хотели чтобы в нашей среде разработки был Composer.

Php.ini пока оставим пустым, если нам понадобиться в будущем настраивать PHP то воспользуемся им, а пока добавим в Dockerfile следующий код:

Теперь в папке sites для теста создадим тестовый проект Hello, для этого создадим папку hello и поместим туда единственный файл index.php который будет выводить информацию о php:

Остается только сконфигурировать NGINX, для этого добавим в /config/nginx файл hello.conf:

Не забываем в файле HOSTS добавить:

Запускаем терминал, переходим в нашу папку и запускаем команду:

Первый запуск может занять довольно длительное время, поскольку Докеру нужно скачать образы из интернета и собрать их.

Среда разработки php на базе docker. Смотреть фото Среда разработки php на базе docker. Смотреть картинку Среда разработки php на базе docker. Картинка про Среда разработки php на базе docker. Фото Среда разработки php на базе docker

Если при сборке не было никаких ошибок:

Среда разработки php на базе docker. Смотреть фото Среда разработки php на базе docker. Смотреть картинку Среда разработки php на базе docker. Картинка про Среда разработки php на базе docker. Фото Среда разработки php на базе docker

Переходим по адресу http://hello.loc/ и видим, что все работает.

Среда разработки php на базе docker. Смотреть фото Среда разработки php на базе docker. Смотреть картинку Среда разработки php на базе docker. Картинка про Среда разработки php на базе docker. Фото Среда разработки php на базе docker

Можно зайти в Docker-контейнер php и запустить bash, и проверить работает ли git и composer, для этого введем команду:

Среда разработки php на базе docker. Смотреть фото Среда разработки php на базе docker. Смотреть картинку Среда разработки php на базе docker. Картинка про Среда разработки php на базе docker. Фото Среда разработки php на базе docker

Завершаем работу командой:

Мы разобрали один из вариантов конфигурации, вы все можете настроить под себя. Может показаться, что это сложно и тратиться много времени, но настроив все один раз, вы и коллеги будите использовать это постоянно, разворачивая всю среду разработки одной строкой.

В начале я написал что в сборке будет присутствовать phpМyAdmin но, как вы заметили, его нет. Для тренировки попробуйте добавить его сами, а если не получится, то позже подготовлю инструкцию.

На Windows 10 у меня возникла ошибка при запуске контейнера MySQL, в логах было что то такое:

…..
[Warning] [MY-010159] [Server] Setting lower_case_table_names=2 because file system for /var/lib/mysql/ is case insensitive
…..

Гугление показало — это означает, что используемая файловая система не поддерживает aio. Для этого в docker-compose добавим команду:

В статье, в описание файла docker-compose, я это добавил.

Источник

Среда разработки php на базе docker

Среда разработки PHP на базе Docker

Возможности и особенности

В целом, среда разработки удовлетворяет требованию — «при использовании Docker каждый контейнер должен содержать в себе только один сервис».

Рассмотрим структуру проекта.

Примечание:

В некоторых каталогах можно встретить пустой файл .gitkeep. Он нужен лишь для того, чтобы была возможность добавить каталог под наблюдение Git.

.gitkeep — является заполнением каталога, это фиктивный файл, на который не следует обращать внимание.

Пример файла с основными настройками среды разработки.

Этот каталог предназначен для хранения ssh-ключей.

Документация, которую вы сейчас читаете.

Документ в формате YML, в котором определены правила создания и запуска многоконтейнерных приложений Docker. В этом файле описана структура среды разработки и некоторые параметры необходимые для корректной работы web-приложений.

Каталог базы данных MongoDB.

mongo.conf — Файл конфигурации MongoDB. В этот файл можно добавлять параметры, которые при перезапуске MongoDB будут применены.

db — эта папка предназначена для хранения пользовательских данных MongoDB.

dump — каталог для хранения дампов.

Каталог базы данных MySQL 5.7.

config-file.cnf — файл конфигурации. В этот файл можно добавлять параметры, которые при перезапуске MySQL 5.7 будут применены.

data — эта папка предназначена для хранения пользовательских данных MySQL 5.7.

dump — каталог для хранения дампов.

logs — каталог для хранения логов.

Каталог базы данных MySQL 8.

config-file.cnf — файл конфигурации. В этот файл можно добавлять параметры, которые при перезапуске MySQL 8 будут применены.

data — эта папка предназначена для хранения пользовательских данных MySQL 8.

dump — каталог для хранения дампов.

logs — каталог для хранения логов.

Эта папка предназначена для хранения файлов конфигурации Nginx и логов.

default.conf — файл конфигурации, который будет применён ко всем виртуальным хостам.

vhost.conf — здесь хранятся настройки виртуальных хостов web-проектов.

Рассмотрим vhost.conf подробнее:

В файле конфигурации описаны настройки для 2 web-проектов — project-1.localhost и project-2.localhost.

Здесь следует обратить внимание на то, как производится перенаправление запросов к нужному docker-контейнеру.

Например, для проекта project-1.localhost указано:

php-7.3 — название docker-контейнера, а 9000 — порт внутренней сети. Контейнеры между собой связаны через внутреннюю сеть, которая определена в файле docker-compose.yml.

В этом каталоге находятся файлы конфигурации PHP.

Для каждой версии PHP — свой файл конфигурации.

Место для хранения файлов конфигурации Supervisor.

Для каждой версии PHP — могут быть добавлены свои файлы с настройками.

Здесь хранится файл, в котором описаны действия, выполняемые при создании образов docker-контейнеров PHP.

Dockerfile — это текстовый документ, содержащий все команды, которые следует выполнить для сборки образов PHP.

Каталог для системы управления базами данных PostgreSQL.

data — эта папка предназначена для хранения пользовательских данных PostgreSQL.

dump — каталог для хранения дампов.

Каталог предназначен для хранения web-проектов.

Вы можете создать в это каталоге папки, и поместить в них ваши web-проекты.

Содержимое каталога projects доступно из контейнеров php-7.1 и php-7.3.

Если зайти в контейнер php-7.1 или php-7.3, то в каталоге /var/www будут доступны проекты, которые расположены в projects на локальной машине.

Каталог key-value хранилища Redis.

conf — папка для хранения специфических параметров конфигурации.

data — если настройки конфигурации предполагают сохранения данных на диске, то Redis будет использовать именно этот каталог.

Программы в docker-контейнерах PHP

Полный перечень приложений, которые установлены в контейнерах php-x.x можно посмотреть в php-n-workspace/Dockerfile.

Здесь перечислим лишь некоторые, наиболее важные:

1. Выполните клонирование данного репозитория в любое место на вашем компьютере.

Перейдите в директорию, в которую вы клонировали репозиторий. Все дальнейшие команды следует выполнять именно в этой директории.

Удалите файл .gitkeep в каталоге postgres/data/, иначе он помешает запуску PostgreSQL.

2. Скопируйте файл .env-example в .env

Если это необходимо, то внесите изменения в файл .env. Измените настройки среды разработки в соответствии с вашими требованиями.

3. Выполните клонирование web-проектов в каталог projects.

Для примера, далее мы будем исходить из предположения, что у вас есть 2 проекта:

4. Отредактируйте настройки виртуальных хостов Nginx.

Файл конфигурации виртуальных хостов находится в каталоге ./nginx/conf.d/.

5. Настройте хосты (доменные имена) web-проектов на локальной машине.

Необходимо добавить названия хостов web-проектов в файл hosts на вашем компьютере.

В файле hosts следует описать связь доменных имён ваших web-проектов в среде разработки на локальном компьютере и IP docker-контейнера Nginx.

На Mac и Linux этот файл расположен в /etc/hosts. На Windows он находится в C:\Windows\System32\drivers\etc\hosts.

Строки, которые вы добавляете в этот файл, будут выглядеть примерно так:

В данном случае, мы исходим из того, что Nginx, запущенный в docker-контейнере, доступен по адресу 127.0.0.1 и web-сервер слушает порт 80.

Не рекомендуем использовать имя хоста с .dev на конце в среде разработки. Лучшей практикой является применение других названий — .localhost или .test.

6. [опционально] Настройте маршрутизацию внутри контейнеров web-проектов.

Web-проекты должны иметь возможность отправлять http-запросы друг другу и использовать для этого название хостов.

Из одного запущенного docker-контейнера php-7.1 web-приложение №1 должно иметь возможность отправить запрос к другому web-приложению №2, которое работает внутри docker-контейнера php-7.3. При этом адресом запроса может быть название хоста, которое указано в файле /etc/hosts локального компьютера.

Чтобы это стало возможным нужно внутри контейнеров так же внести соответствующие записи в файл /etc/hosts.

Самый простой способ решить данную задачу — добавить секцию extra_hosts в описание сервисов php-7.1 и php-7.3 в docker-compose.yml.

IP_HOST_MACHINE — IP адрес, по которому из docker-контейнера доступен ваш локальный компьютер.

Если вы разворачиваете среду разработки на Mac, то внутри docker-контейнера вам доступен хост docker.for.mac.localhost.

Узнать IP адрес вашего Mac можно при помощи команды, который нужно выполнить на локальной машине:

В результате вы получите, что-то подобное:

После того, как вам станет известен IP-адрес, укажите его в секции extra_hosts в описание сервисов php-7.1 php-7.3 в docker-compose.yml.

8. Настройте параметры соединения с системами хранения данных.

Хосты и порты сервисов

Для того, чтобы настроить соединения с базами данных из docker-контейнеров php-7.1 и php-7.3 следует использовать следующие названия хостов и порты:

СервисНазвание хостаПорт
MySQL 5.7mysql-5.73306
MySQL 8mysql-83306
PostgreSQLpostgres5432
MongoDBmongo27017
Redisredis6379

Именно эти параметры следует использовать для конфигурации web-проектов.

Для соединения с базами данных с локальной машины:

7. Создайте контейнеры и запустите их.

Создание контейнеров займёт некоторое время. Обычно, от 10 до 30 минут. Дождитесь окончания процесса. Ваш компьютер не должен во время данного процесса потерять доступ в интернет.

8. Создайте SSH-ключи

Для работы web-проектов могут потребоваться SSH-ключи, например для того, чтобы из контейнера при помощи Composer можно было установить пакет из приватного репозитория.

Создать SSH-ключи можно при помощи следующей команды:

Вместо your-name@example.com укажите свой email.

В папку .ssh/ будут сохранены 2 файла — публичный и приватный ключ.

Если вы скопировали в папку .ssh свой ранее созданный ssh-ключ, то убедитесь, что файл id_rsa имеет права 700 (-rwx——@).

Установить права можно командой:

9. Проверьте созданные docker-контейнеры.

Если создание контейнеров прошло успешно, то вы увидите примерно такой результат:

10. Установка зависимостей для web-приложений.

Если для работы web-приложений необходимо установить зависимости, например через менеджер пакетов Composer или NPM, то сейчас самое время сделать это.

В контейнерах php-7.1, php-7.3 и php-8.0 уже установлен и Composer и NPM.

Войдите в контейнер php-7.1:

Перейдите в рабочий каталог необходимого web-проекта и выполните требуемые действия.

Например, установите зависимости через Composer при помощи команды:

Несколько наиболее важных вопросов и ответов на них.

Как зайти в работающий docker-контейнер?

container_name — имя контейнера.

Как останавливать и удалить контейнеры и другие ресурсы среды разработки, которые были созданы?

Как получить список всех контейнеров?

Как получить подробную информацию о docker-контейнере?

container_name — имя контейнера.

Как узнать какие расширения PHP установлены в контейнере php-7.3?

Если контейнер php-8.0 запущен, то выполните команду:

Как удалить все контейнеры?

Удаление всех контейнеров:

Удаление всех активных контейнеров:

Удаление всех неактивных контейнеров:

Развёртывание дампов MySQL, PostgreSQL и MongoDB

Если для работы web-проектов требуются перенести данные в хранилища, то следуйте описанным ниже инструкциям.

Как развернуть дамп PostgreSQL?

Выполните следующую команду на локальной машине:

или зайдите в контейнер postgres и выполните:

user_name — имя пользователя. Значение POSTGRES_USER.

database_name — название базы данных. Значение POSTGRES_DB.

Как развернуть дамп MySQL?

Вариант 1

Если требуется создать дополнительных пользователей, то следует это сделать перед началом процедуры загрузки дампа.

В файле mysql/conf.d/config-file.cnf отключите лог медленных запросов slow_query_log=0 или установите большое значение long_query_time, например 1000.

Если дамп сжат утилитой gzip, сначала следует распаковать архив:

Затем можно развернуть дамп, выполнив на локальном компьютере команду:

Указывать пароль в командной строке — плохая практика, не делайте так в производственной среде.

MySQL выдаст справедливое предупреждение:

mysql: [Warning] Using a password on the command line interface can be insecure.

Ключ —force говорит MySQL, что ошибки следует проигнорировать и продолжить развёртывание дампа. Этот ключ иногда может пригодится, но лучше его без необходимости не применять.

Вариант 2

Воспользоваться утилитой Percona XtraBackup.

Percona XtraBackup — это утилита для горячего резервного копирования баз данных MySQL.

О том, как работать с XtraBackup можно узнать по ссылке: https://habr.com/ru/post/520458/.

Как развернуть дамп MongoDB?

Скопируйте фалы дампа в каталог mongo/dump.

Войдите в контейнер mongo:

Выполните следующую команду, чтобы развернуть дамп базы database_name:

Источник

Среда разработки PHP на базе Docker

Решение, которое позволит создать на локальном компьютере универсальную среду разработки на PHP за 30 — 40 минут.

В целом, среда разработки удовлетворяет требованию — при использовании Docker каждый контейнер должен содержать в себе только один сервис.

Рассмотрим структуру проекта.

.gitkeep — является заполнением каталога, это фиктивный файл, на который не следует обращать внимание.

Пример файла с основными настройками среды разработки.

Каталоги и файлы, в которых хранятся пользовательские данные, код ваших проектов и ssh-ключи внесены в. gitignore.

Этот каталог предназначен для хранения ssh-ключей.

Документ в формате YML, в котором определены правила создания и запуска многоконтейнерных приложений Docker. В этом файле описана структура среды разработки и некоторые параметры необходимые для корректной работы web-приложений.

Каталог базы данных MongoDB.

mongo.conf — Файл конфигурации MongoDB. В этот файл можно добавлять параметры, которые при перезапуске MongoDB будут применены.

db — эта папка предназначена для хранения пользовательских данных MongoDB.

dump — каталог для хранения дампов.

Каталог базы данных MySQL 5.7.

config-file.cnf — файл конфигурации. В этот файл можно добавлять параметры, которые при перезапуске MySQL 5.7 будут применены.

data — эта папка предназначена для хранения пользовательских данных MySQL 5.7.

dump — каталог для хранения дампов.

logs — каталог для хранения логов.

Каталог базы данных MySQL 8.

config-file.cnf — файл конфигурации. В этот файл можно добавлять параметры, которые при перезапуске MySQL 8 будут применены.

data — эта папка предназначена для хранения пользовательских данных MySQL 8.

dump — каталог для хранения дампов.

logs — каталог для хранения логов.

Эта папка предназначена для хранения файлов конфигурации Nginx и логов.

default.conf — файл конфигурации, который будет применён ко всем виртуальным хостам.

vhost.conf — здесь хранятся настройки виртуальных хостов web-проектов.

Рассмотрим vhost.conf подробнее:

В файле конфигурации описаны настройки для двух web-проектов — project-1.localhost и project-2.localhost.

Здесь следует обратить внимание на то, как производится перенаправление запросов к нужному docker-контейнеру.

Например, для проекта project-1.localhost указано:

php-7.3 — название docker-контейнера, а 9000 — порт внутренней сети. Контейнеры между собой связаны через внутреннюю сеть, которая определена в файле docker-compose.yml.

В этом каталоге находятся файлы конфигурации PHP.

Для каждой версии PHP — свой файл конфигурации.

Место для хранения файлов конфигурации Supervisor.

Для каждой версии PHP — могут быть добавлены свои файлы с настройками.

Здесь хранится файл, в котором описаны действия, выполняемые при создании образов docker-контейнеров PHP.

Dockerfile — это текстовый документ, содержащий все команды, которые следует выполнить для сборки образов PHP.

Каталог для системы управления базами данных PostgreSQL.

data — эта папка предназначена для хранения пользовательских данных PostgreSQL.

dump — каталог для хранения дампов.

Каталог предназначен для хранения web-проектов.

Вы можете создать в это каталоге папки, и поместить в них ваши web-проекты.

Содержимое каталога projects доступно из контейнеров php-7.1 и php-7.3.

Если зайти в контейнер php-7.1 или php-7.3, то в каталоге /var/www будут доступны проекты, которые расположены в projects на локальной машине.

Каталог key-value хранилища Redis.

conf — папка для хранения специфических параметров конфигурации.

data — если настройки конфигурации предполагают сохранения данных на диске, то Redis будет использовать именно этот каталог.

Полный перечень приложений, которые установлены в контейнерах php-7.x можно посмотреть в php-workspace/Dockerfile.

Здесь перечислим лишь некоторые, наиболее важные:

1. Выполните клонирование данного репозитория в любое место на вашем компьютере.

Перейдите в директорию, в которую вы клонировали репозиторий. Все дальнейшие команды следует выполнять именно в этой директории.

2. Скопируйте файл .env-example в .env

Если это необходимо, то внесите изменения в файл .env. Измените настройки среды разработки в соответствии с вашими требованиями.

3. Выполните клонирование web-проектов в каталог projects.

Для примера, далее мы будем исходить из предположения, что у вас есть 2 проекта:

project-1.ru — будет работать на версии PHP 7.3, а project-2.ru — на PHP 7.1.

4. Отредактируйте настройки виртуальных хостов Nginx.

Файл конфигурации виртуальных хостов находится в каталоге ./nginx/conf.d/.

5. Настройте хосты (доменные имена) web-проектов на локальной машине.

Необходимо добавить названия хостов web-проектов в файл hosts на вашем компьютере.

В файле hosts следует описать связь доменных имён ваших web-проектов в среде разработки на локальном компьютере и IP docker-контейнера Nginx.

На Mac и Linux этот файл расположен в /etc/hosts. На Windows он находится в C:\Windows\System32\drivers\etc\hosts.

Строки, которые вы добавляете в этот файл, будут выглядеть так:

В данном случае, мы исходим из того, что Nginx, запущенный в docker-контейнере, доступен по адресу 127.0.0.1 и web-сервер слушает порт 80.

6. [опционально, если это необходимо] Настройте маршрутизацию внутри контейнеров web-проектов.

Web-проекты должны иметь возможность отправлять http-запросы друг другу и использовать для этого название хостов.

Из одного запущенного docker-контейнера php-7.1 web-приложение № X должно иметь возможность отправить запрос к другому web-приложению № Y, которое работает внутри docker-контейнера php-7.3. При этом адресом запроса может быть название хоста, которое указано в файле /etc/hosts локального компьютера.

Чтобы это стало возможным нужно внутри контейнеров так же внести соответствующие записи в файл /etc/hosts.

Самый простой способ решить данную задачу — добавить секцию extra_hosts в описание сервисов php-7.1 и php-7.3 в docker-compose.yml.

IP_HOST_machine — IP адрес, по которому из docker-контейнера доступен ваш локальный компьютер.

Если вы разворачиваете среду разработки на Mac, то внутри docker-контейнера вам доступен хост docker.for.mac.localhost.

Узнать IP адрес вашего Mac можно при помощи команды, который нужно выполнить на локальной машине:

В результате вы получите, что-то подобное:

После того, как вам станет известен IP-адрес, укажите его в секции extra_hosts в описание сервисов php-7.1 и php-7.3 в docker-compose.yml.

8. Настройте параметры соединения с системами хранения данных.

Хосты и порты сервисов

Для того, чтобы настроить соединения с базами данных из docker-контейнеров php-7.1 и php-7.3 следует использовать следующие названия хостов и порты:

Именно эти параметры следует использовать для конфигурации web-проектов.

Для соединения с базами данных с локальной машины:

7. Создайте контейнеры и запустите их.

Создание контейнеров займёт некоторое время. Обычно от 10 до 30 минут. Дождитесь окончания процесса. Ваш компьютер не должен потерять доступ в интернет.

Если вы всё сделали правильно, то контейнеры будут созданы и запущены.

Откройте Docker Dashboard и убедитесь в этом:

8. Создайте SSH-ключи.

Для работы web-проектов могут потребоваться SSH-ключи, например для того, чтобы из контейнера при помощи Composer можно было установить пакет из приватного репозитория.

Создать SSH-ключи можно при помощи следующей команды:

В папку .ssh/ будут сохранены 2 файла — публичный и приватный ключ.

9. Проверьте созданные docker-контейнеры.

Если создание контейнеров прошло успешно, то вы увидите примерно такой результат:

10. Установка зависимостей для web-приложений.

Если для работы web-приложений необходимо установить зависимости, например через менеджер пакетов Composer или NPM, то сейчас самое время сделать это.

В контейнерах php-7.1 и php-7.3 уже установлен и Composer и NPM.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *