Вы можете ознакомиться с инструкцией на сайте:
Для Ubuntu мы покажем вам сами процесс установки:
Настроим репозиторий:
sudo apt-get update
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
Теперь мы можем установить докер из репозитория:
sudo apt-get update
sudo apt-get install docker-ce
Для проверки можете запустить команду:
sudo docker run hello-world
Инструкция расположена по адресу:
https://docs.docker.com/compose/install/#install-compose
Для ubuntu мы будем устанавливать сейчас:
sudo -i
curl -L https://github.com/docker/compose/releases/download/1.15.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
Настроим привилегии:
sudo chmod +x /usr/local/bin/docker-compose
И проверим как он успешно был установлен:
docker-compose --version
Создадим директорию в домашней папке нашего пользователя, для удобства:
cd ~
mkdir docker
В ней создадим директорию с именем проекта:
cd ~/docker
mkdir mysql
Перейдём в данную директорию. Создадим файл с именем, это обязательно:
docker-compose.yml
Cодержимое будет следующим:
version: '2'
services:
mariadb:
image: 'bitnami/mariadb:latest'
environment:
- MARIADB_ROOT_PASSWORD=laravelpass
ports:
- '3307:3306'
volumes:
- /home/dkadevelop/docker/mysql/db:/bitnami
В директиве volumes:
dkadevelop измените на имя своего пользователя или поменяйте путь /home/dkadevelop/docker/mysql/db на свой.
Перейдем в директорию с нашим проектом и файлом docker-compose.yml
Напишем команду:
sudo docker-compose up
Для запуска docker в фоне, как демон, можете использовать данную команду:
docker-compose up -d
Команда для подключения через терминал к серверу:
mysql -u root -h 127.0.0.1 -P 3307 -p
Запускаем команду создания базы данных:
CREATE DATABASE `laravel_blog` CHARACTER SET utf8 COLLATE utf8_general_ci;
Выход:
exit;
Теперь пропишем эти настройки в наш laravel:
* параметры сервера: порт и имя пользователя отличаются от настройки в видео #4, будьте внимательны.
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3307
DB_DATABASE=laravel_blog
DB_USERNAME=root
DB_PASSWORD=laravelpass
Каждый раз как вы меняете настройки в файле .env или config/app.php
Необходимо сбрасывать кэш конфига, иначе изменения не вступят в силу.
php artisan config:cache
Теперь после настройки подключения в первую очередь нужно запустить миграции.
php artisan migrate
Если возникла ошибка вида:
[Illuminate\Database\QueryException]
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table users add unique users_email_unique(email))
[PDOException]
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
Для решения данной проблемы на старых mysql серверах или mariadb необходимо добавить две строки в сервис провайдер AppServiceProvider.php:
Schema::defaultStringLength(191);
use Illuminate\Support\Facades\Schema;
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema;
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
Schema::defaultStringLength(191);
}
И запускайте миграции снова.