Docker & Laradock команди
October 2020 // 2 хвилини на читання // 313 переглядів
Написати і запам’ятати легше ніж просто запам’ятати. По суті я почав користуватися докером і Laradock в момент початку написання цієї статті. Сюди я збирав усі відповіді на всі питання, які з’являлися у мене в процесі роботи з новим для себе інструментом — Laradock. Так, тут багато переписування і перекладу документації, мені просто було легше запам’ятати і відфільтрувати потрібні команди у своїй статті.
Я більше не використовую Laradock
Laradock — чудовий інструмент для роботи над laravel проектами, але в новій версії Laravel був представлений Laravel Sail, який робить рівним рахунком все те-ж саме, що і laradock і так-же заснований на docker. Ця нотатка була довгий час закрита для користувачів, тому як я вважав її не особливо потрібною. Зараз вирішив підчистити нотатки, може кому знадобиться…
Які контейнери мені потрібні?
На більшості проектів достатньо контейнерів nginx & mysql. Для додаткової зручності додамо інтерфейс phpmyadmin (Я так звик користуватися Sequel Pro, але він не працює з MySQL 8)
docker-compose up -d nginx mysql phpmyadmin
Як зупинити контейнери?
Можна зупинити як один контейнер, так і всі однією командою
Для зупинки одного контейнера (mysql — назва контейнера):
docker-compose stop mysql
Всі контейнери можна зупинити за допомогою:
docker-compose stop
Як зібрати контейнер
Збирати контейнери потрібно кожного разу, коли було внесено зміну в його конфігурацію. Наприклад, була змінена версія mysql у файлі .env. Для виконання збірки потрібно зупинити, перезібрати і запустити контейнер, а збірка виконується командою
docker-compose up -d mysql
Як відкрити phpmyadmin в laradock
Для відкриття phpmyadmin в laradock достатньо запустити контейнер mysql і phpmyadmin, після цього інтерфейс http://localhost:8081/
Як підключитися до Sequel Pro в laradock
На даний момент (кінець 2020), стабільна версія Sequel Pro не має можливості підключатися до mysql 8 (Принаймні так пишуть в інтернетах, але версія 5.7 може легко з нею працювати). Якщо версія MySQL для Вас не так пріоритетна як робота з Sequel Pro, можна змінити конфіг (.env в laradock) в частині конфігурації MySQL на такий
MYSQL_VERSION=5.7
І перезібрати образ mysql
docker-compose build mysql
У випадку, коли підключення як і раніше не доступно, слід переконатися в тому, що порти в файлі docker-compose.yml мають вигляд:
ports:
- "3306:3306"
Як увійти в оточення
docker-compose exec workspace bash
Як змінити версію PHP в laradock
Для зміни версії php редагуємо файл .env, вказуючи потрібну версію php:
PHP_VERSION=7.3
Після чого перезбираємо образи php-fpm і workspace
docker-compose build php-fpm
docker-compose build workspace
Як додати deployer
- Відкриваємо .env файл;
- Знаходимо рядок WORKSPACE_INSTALL_DEPLOYER;
- Встановлюємо значення в true
- Перезбираємо контейнер workspace
docker-compose build workspace
Як змінити конфігурацію php
Користувальницька конфігурація знаходиться в файлі laradock/php-fpm/laravel.ini
Відкрийте файл, внесіть в нього свої параметри і збережіть. Після цього потрібно пересоздать контейнер
docker-compose up -d --force-recreate --build php-fpm