← Повернутись до блогу

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
2018–2025 (c) Списуй але не один в один