Docker is not running laravel windows

The Laravel portal for problem solving, knowledge sharing and community building.

Last updated

9 months ago.

I also ran the following command as in the Windows Terminal, launched as administrator:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
wsl --set-default-version 2

`wsl —list —verbose
NAME STATE VERSION

  • docker-desktop Running 2
    docker-desktop-data Running 2`

yet I still get «Docker is not running.» in a command prompt when trying to run the Curl command, and the URi error in the Windows terminal

Sign in to participate in this thread!

We’d like to thank these
amazing companies

for supporting us

Your logo here?

Laravel.io

The Laravel portal for problem solving, knowledge sharing and community building.


© 2023 Laravel.io — All rights reserved.

Содержание

  1. Docker is not running laravel windows
  2. докер не запускается в Windows
  3. Вариант А
  4. Вариант Б
  5. Laravel + Docker: наш успешный опыт использования
  6. О чем эта статья
  7. Какие задачи стояли перед нами
  8. Проект Laradock
  9. Требования и начальные условия
  10. Архитектура git репозиториев: основной проект и Laradock
  11. Имя директории с окружением
  12. Запуск одного сайта
  13. Настройки проекта
  14. Инициализация проекта
  15. Ошибки при разворачивании
  16. Порядок устранения ошибки
  17. SSL сертификаты и https
  18. Запуск нескольких сайтов
  19. Дополнительные возможности
  20. Ссылки на материалы
  21. Заключение
  22. Настраиваем Laravel в контейнере Docker
  23. Необходимые условия
  24. Шаг 1. Установка Laravel
  25. Шаг 2. Создание файла Docker Compose
  26. Шаг 3. Сохранение данных
  27. Шаг 4. Создание Dockerfile
  28. Шаг 5. Настройка PHP
  29. Шаг 6. Настройка NGINX
  30. Шаг 7. Настройка MySQL
  31. Шаг 8 — Запуск контейнеров
  32. Шаг 9. Создание пользователя MySQL
  33. Шаг 10. Обновление настроек окружения
  34. Шаг 11. Перенос базы данных
  35. Running Laravel projects on Windows 10 using Docker
  36. Introduction
  37. Basic Task List
  38. Getting started
  39. Firing up Docker
  40. Taking control
  41. Wiring up the database
  42. Connecting to the database
  43. Remarks
  44. Final words

Docker is not running laravel windows

At the point in the docs where it says: n

I received the message in the terminal «Docker is not running» n

I’m getting the same thing running on Ubuntu Desktop 20.04 n»,»bodyInMarkdown»:»I’m getting the same thing running on Ubuntu Desktop 20.04″,»replies»:[<«id»:672711,»conversation_id»:149071,»body»:»

I had this problem when I first tried it on my Mac. The solution was simply to find the docker app in my apps folder (where all Mac apps are installed) and double click it. Then the curl command in the original post above did the rest. n»,»bodyInMarkdown»:»I had this problem when I first tried it on my Mac. The solution was simply to find the docker app in my apps folder (where all Mac apps are installed) and double click it. Then the curl command in the original post above did the rest.»,»replies»:[],»user»:<«id»:373,»username»:»kuroi»,»avatar»:»//www.gravatar.com/avatar/3951ddcb43e788a387d6daf330dad5ca?s=100&d=https%3A%2F%2Fs3.amazonaws.com%2Flaracasts%2Fimages%2Fforum%2Favatars%2Fdefault-avatar-10.png»,»experience»:<«award_count»:»0″,»level»:4,»points»:»19,425″,»pointsUntilNextLevel»:»575″>,»achievements»:[],»reported»:null,»profile»:<«github»:»»,»twitter»:»»,»full_name»:null,»website»:»»,»bio»:null>,»dateSegments»:<«created_diff»:»8 years ago»>>,»likes»:[«benamato»],»created_at»:»2020-12-11T17:56:14.000000Z»,»links»:<«delete»:»/discuss/replies/672630″,»like»:»/discuss/replies/672630/likes»,»best_answer»:»/discuss/conversations/149071/best»>,»best_answer»:false,»dateSegments»:<«createdDiff»:»10 months ago»>>,<«id»:672744,»conversation_id»:149071,»body»:»

For those who are using Ubuntu or Debian can check this guide out on how to install and configure Docker. n

When it comes to Mac, make sure you are running Docker Desktop and that you have the little ship icon in the top right corner. n

You may not be running docker on ubuntu rootless so you’ll need to use Sudo. n

Thanks to all those that replied. Yes, this was a permissions issue with docker. n

You can trace the error message to the /bin/sail file. There, the line says: n

but i knew docker was there and working. So, I tried docker info from my terminal and discovered it was a permissions issue. n

However, I was unable to get those permissions to «stick» beyond the current terminal session. If I close the terminal, I have to follow the instructions again. More investigation needed. n

When I did get going with docker I was met with further problems to do with mysql and apache running and taking up ports. n

I was Facing the Same issue n

here is the solution that work for me n

sudo chmod 666 /var/run/docker.sockn n»,»bodyInMarkdown»:»Hi nnI was Facing the Same issuennhere is the solution that work for me n«`nsudo chmod 666 /var/run/docker.sockn«`»,»replies»:[<«id»:730598,»conversation_id»:149071,»body»:»

Verify if your distro is the default running by checking if it has asterisk (*) on its name. n

If not, then set it as default: n

Actually its all written on the official docs, have to follow the post-installation part: n

Then test its working with: (should work without sudo prefix) n

Источник

докер не запускается в Windows

Выполнение docker version возвращает следующие результаты.

Запуск диагностики дает следующее:

Вы получите следующий вывод:

Скопируйте команду ниже и выполните в cmd:

А затем выполните следующую команду для управления:

2) Для Windows 7 Powershell откройте powershell.exe с правами администратора и выполните следующую команду:

А затем выполните следующую команду для управления:

3) Если вы повторно откроете cmd или powershell, вам следует снова повторить соответствующие шаги.

Я знаю, что этот вопрос был давно, но я не нашел подходящего объяснения и решения, поэтому, надеюсь, мой ответ будет полезен 🙂

Поэтому используйте docker-machine команды на вашем компьютере с Windows. Используйте docker команду внутри вашей виртуальной машины. Чтобы использовать docker команды, например, docker ps вы можете либо открыть терминал быстрого запуска Docker, либо запустить их на своем cmd / bash / PowerShell:

docker-machine run default / предполагая, что по умолчанию ваша виртуальная машина Linux /

docker-machine ssh default

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

Ошибка связана с этой частью:

В конфигурации демона по умолчанию в Windows для подключения докер-клиент должен быть запущен с повышенными привилегиями.

Вы можете сделать это, чтобы переключить демон Docker:

У меня такая же проблема.

Запуск демона докеров решил проблему. Просто найдите докер, нажав клавишу Windows, и нажмите «Docker Dekstop». Демон должен запуститься через минуту.

если вы находитесь в окнах, попробуйте это

для тестирования попробуйте

Если вы установили докер в Windows 10 Pro с включенным Hyper-V и по-прежнему не можете запустить Docker в Windows 10, то, как следует из ошибки, ваш демон докера не запускается.

Следующие шаги помогли мне успешно запустить докер:

Используйте команду в cmd (режим администратора)

Затем вы получите примерно такое сообщение:

open C:User\\.dockermachinemachinesdefaultconfig.json :
система не может найти указанный файл.

Перейдите к значку докера, который будет на панели задач Windows (нижний правый угол рабочего стола).

Щелкните правой кнопкой мыши значок докера> Настройки> Сброс> Перезапустить Docker

Это займет несколько минут

Затем вы увидите следующее сообщение:

Докер работает с зеленым индикатором

2znwW

Попробуйте решить проблему одним из следующих способов:

Вариант А

Вариант Б

Откройте «Безопасность окон»

Откройте «Управление приложением и браузером»

Нажмите «Настройки защиты от эксплойтов» внизу.

Перейдите на вкладку «Настройки программы»

Найдите в списке «C: WINDOWS System32 vmcompute.exe» и разверните его.

Прокрутите вниз до «Защита потока кода (CFG)» и снимите флажок «Переопределить системные настройки».

Запустите vmcompute из PowerShell «net start vmcompute»

Затем перезапустите вашу систему

Я столкнулся с той же проблемой, это может быть проблема администратора, поэтому выполните следующие шаги, чтобы настроить докер на

Для меня проблема заключалась в том, что виртуализация не была включена.

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

У меня были такие же ошибки после установки в Windows 10. И я попытался перезапустить, но это не сработало, поэтому я сделал следующее ( не рекомендую если вы какое-то время работали в докере, это было при новой установке):

1) Найдите кита на панели задач и щелкните правой кнопкой мыши

2) Заходим в настройки> Сброс

3) Сброс до заводских настроек по умолчанию

Затем я смог следовать руководству по началу работы с докерами на веб-сайте с Windows 10, и теперь он работает как шарм.

В последнее время у меня была такая же проблема. Проблема заключалась в том, что программа безопасности (Trendmicro) блокировала докер для создания сетевого интерфейса Hyperv. Вы также должны проверить брандмауэр, антивирусное программное обеспечение, не блокирующее установку или настройку.

Откройте диск C в PowerShell или Git bash и выполните команду ниже

Если ни один из других ответов вам не подходит, попробуйте следующее: откройте терминал и запустите:

Если вы заметили, что рабочий стол docker-desktop остался висеть в состоянии «Installing», закройте Docker, запустите powershell от имени администратора и отмените регистрацию docker-desktop:

Перезагрузите докер, и, надеюсь, он сработает. Если это не так, попробуйте сначала удалить docker, затем отмените регистрацию docker-desktop и переустановите Docker.

Я использую Windows 7 с Docker Toolbox, и чтобы исправить это, просто откройте Docker Quickstart Terminal.

$ docker version Клиент: Версия: 17.05.0-ce Версия API: 1.29 Версия Go: go1.7.5 Git commit: 89658be Построен: пятница мая, 15:36:11 2017 OS / Arch: windows / amd64

Сервер: Версия: 17.05.0-ce Версия API: 1.29 (минимальная версия 1.12) Версия Go: go1.7.5 Git commit: 89658be Построен: четверг, 4 мая, 21:43:09 2017 OS / Arch: linux / amd64 Экспериментальная: false

Для меня ошибка была решена путем остановки виртуального экземпляра Ubuntu, который работал в Hyper-V:

The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.

Как только экземпляр Ubuntu был остановлен и Docker Desktop был перезапущен, мои обычные команды Docker работали нормально.

Источник

Laravel + Docker: наш успешный опыт использования

О чем эта статья

Какие задачи стояли перед нами

Бывает так, что к существующей команде подключается новый разработчик. Чтобы он смог начать выполнять задачи (проще говоря, писать код и проверять свою работу), мало получить исходники. Нужно окружение, которое включает в себя web-сервер, php компилятор и базу данных. Это минимальный набор. В зависимости от проекта в окружение могут входить:

Для решения задачи был выбран Docker. Пожалуй, основная причина это то, что он легко вписался в существующую инфраструктуру. Он прекрасно работает на Linux, а большинство наших разработчиков на этой ОС.

Laravel предоставляет собственное решение для организации локального окружения под название Homestead. Это набор конфигов и скриптов для Vagrant, с помощью которых нужное ПО разворачивает в виртуальной машине VirtualBox. Но описание Homestead выходит за рамки данной статьи.

Проект Laradock

В начале этот проект был нацелен исключительно на запуск Laravel на Docker, что и отражено в его названии. Но по мере роста популярности в php сообществе Laradock стал поддерживать другие php-проекты: Symfony, CodeIgniter, WordPress, Drupal. Проект действительно популярный, активно поддерживается и развивается:

image loader

Laradock это набор предварительно настроенных, независимых Docker образов, которые можно подключать исходя из требований вашего проекта. Отлично документирован и предельно прост в использовании. Чтобы запустить компоненты, просто перечисляем их:

Замечание: нет необходимости в явном указании php-fpm, так как при запуске web server контейнеров php-fpm контейнер запускается автоматически.

В репозитории более 48 контейнеров, среди которых:

Требования и начальные условия

Архитектура git репозиториев: основной проект и Laradock

Laradock может использоваться в двух вариантах:

image loader

image loader

Мы всегда используем первый вариант: один проект – один laradock. Именно такой подход обеспечивает гибкость и независимость одного проекта от другого.

Второй важный вопрос: создавать один общий репозиторий или два отдельных? Другими словами, нужно ли добавлять файлы laradock в основной репозиторий с проектом? Ответ – нужно, но в виде подмодуля к основному репозиторию. Docker-окружение это вспомогательная часть проекта и она требуется не всегда. Например на staging и production серверах в нем нет необходимости. При организации деплоя через git, файлы окружения туда не попадут.

Имя директории с окружением

По-умолчанию в именах контейнеров в качестве суффикса используется имя текущей директории: laradock_nginx_1, laradock_mysql_1 и т.п. Чтобы избежать путаницы данных внутри томов, необходимы уникальные названия каталогов для ваших окружений. Этого легко добиться, если придерживаться выбранной нами схемы: добавлять название проекта в имя каталога с окружением, например:

Запуск одного сайта

С чего мы начинаем запуск сайта?

Как мы упоминали в третьей главе, для создания окружения мы используем Laradoc.
Процесс запуска состоит из этапов настройки среды окружения и laravel-приложения.

Настройки проекта

В составе laradoc есть файл примера конфигурирования окружения. Мы создаём его копию для своего проекта

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

По необходимости можно в команде запуска вызвать загрузку нужные сервисов. Например, так буду загружены три дополнительных сервиса:

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

Скрипт запуска можно назвать “start.sh”, или как вам удобно:

Скрипт остановки сервисов можно назвать “stop.sh”, или “down.sh”:

image loader

Инициализация проекта

Переход в среду контейнера выполняется командой

Ошибки при разворачивании

При установке Laradoc в среде linux может возникнуть проблема с правами доступа к файлам.

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

/var/www/vendor does not exist and could not be created

The stream or file «/var/www/storage/logs/laravel.log» could not be opened: failed to open stream: Permission denied

Причина ошибки в том, что в примере конфигурации среды docker жёстко указывается ID Пользователя и Группы пользователей, по умолчанию — 1000 и 1000 соответственно.

Если же в нашей unix-системе эти ID уже заняты другими сущностями, то требуется вручную отредактировать конфигурацию.

Порядок устранения ошибки

Проверяем пользователя и группу у директорий:

Владельцы файлов и каталогов (Пользователь и Группа пользователей) должны быть laradock laradock.

Если вместо laradock:laradock владелец и группа обозначены цифрами (1001:1001, 1001:13002 и подобные сочетания), то требуется внести правки в файлы настроек.

Если ID вашего Пользователя и Группы пользователей (/etc/passwd, /etc/group) не совпадают с указанными, то, для корректной работы, нужно внести правки в следующие файлы:

/laradock/php-fpm/Dockerfile*, в строке

заменить 1000 на ID пользователя

/laradock/.env в строках

WORKSPACE_PUID — указать ID вашего пользователя, WORKSPACE_PGID — ID группы пользователей

/laradock/workspace/Dockerfile*, в строках

ARG PUID=10315
ARG PGID=10004

PUID — ID пользователя, PGID — ID группы пользователей

После внесения правок заново пересобрать workspace и php-fpm и затем запустить контейнер:

Если вы столкнулись с такой проблемой, то нужно проверить и права доступа к каталогам фреймворка Laravel. Устанавливаем права доступа на каталоги, для которых необходимы права на запись:

SSL сертификаты и https

Скорее всего ваш сайт в production будет работать по безопасному протоколу. Имеет смысл и локальную разработку вести на https. Это не очень сложно сделать, нужен SSL сертификат и небольшие настройки. Подробнее описано в этой статье Как выпустить самоподписанный SSL сертификат.

Запуск нескольких сайтов

Итак, все проекты работают по схеме “Один Laradock – один проект”. Но один проект это не обязательно один сайт. Иногда нужно запустить несколько сайтов одновременно, потому что они будут взаимодействовать между собой.

В этом случае два laradock одновременно не запустить, потому что в каждом из них запущен web-сервер, который слушает 80-ый порт – получаем конфликт. Но у нас есть доступ к конфигам nginx, давайте настроим его.

Но сначала замечание об архитектуре и git-репозиториях. В случае нескольких сайтов, используем структуру каталогов из второго варианта:

image loader

Git-репозиторий с laradock больше не подмодуль другого репозитория, а становится полностью самостоятельным.

Настройка web-сервера будет показана на примере nginx. В каталоге laradock переходим в nginx/sites. Видим default.conf и несколько *.conf.example файлов. На основе default.conf или файлов примеров создаем конфигурации для сайтов.

Обратите внимание на document root. По умолчанию директива root выглядит так:

Настроим crontab, чтобы планировщик laravel мог корректно работать. Для этого в файле workspace/crontab/laradock добавим пути:

Для успешной коммуникации сайтов внутри контейнеров, добавим алиасы. В файле docker-compose.yml находим раздел

и добавляем алиас на каждый домен:

image loader

Это все, что нужно сделать для запуска проекта с несколькими доменами. За рамками статьи остается вопрос организации https для нескольких доменов. Все по аналогии с организацией ssl для одного домена, который описан в разделе выше. Добавьте комментарий, если возникнут сложности, я отвечу на него или опишу особенности в отдельной статье.

Дополнительные возможности

В пространстве окружения Docker возможно настроить необходимые нам приложения. В базовую конфигурацию Laradoc уже входят пакеты приложений:

Сервер веб-приложений Apache2, Caddy
Кэширование веб-приложений Nginx, Varnish
Базы данных и кэширующие сервисы Mongo, Redis, Mssql, Mysql, Percona, Mariadb, Elasticsearch, Memcached, Redis, RethinkDb, Aerospike
Веб-интерфейсы к базам данных Adminer, PhpMyAdmin
Балансировщик нагрузки Haproxy
Программирование, программные оболочки и фреймворки Php, Python, Symfony, Laravel, Node
Утилиты Php, Python, Symfony, Laravel, Node
Менеджер пакетов Yarn, Composer
Средство тестирования Jenkins
Средство конфигурирования инфраструктурой приложения Terraform

Кратко рассмотрим самые упоминаемые приложения.

Механизм обмена сообщениями между приложениями. Разработчик этого пакета определяет его назначение так: «менеджер очередей» (queue manager), «брокер сообщений» (message broker) или «очереди сообщений» (message-queueing).

Сообщение может содержать любой набор данных.

В сценарии работы с менеджером очередей сообщение от одного приложения — отправителя — сохраняется до тех пор, пока другое приложение (получатель), не подключиться и не заберёт (получит) сообщение из очереди.

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

Redis поддерживает строки, списки, множества, упорядоченные множества и хэш-таблицы.
Основной недостаток редис — потеря данных в случае очистки оперативной памяти, при перезагрузке ОС или при выключении оборудования. Разработчики редис предусмотрели подобный сценарий: в режиме AOF (Append Only File) данные добавляются в дисковый файл каждую секунду.

Основное преимущество редис — максимально быстрый доступ к данным со скоростью обращения к ОЗУ.

Ссылки на материалы

Заключение

Выбрав для веб-разработки решение Laravel + Docker, мы выиграли самый ценный приз: время.

Следуя сценарию разработки в WAMP или LAMP, нам приходилось тратить время
бесполезно и в никуда.

И WAMP, и LAMP требует от php-разработчика определённого уровня квалификации в областях, которые не связаны напрямую с веб-разработкой: конфигурирование веб-сервера, настройка параметров php и т. п.

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

В заключении, отметим преимущества использования Laradoc:

Источник

Настраиваем Laravel в контейнере Docker

docker

Сегодня я расскажу вам, как сделать своё первое приложение Laravel в контейнере Docker.

Необходимые условия

Шаг 1. Установка Laravel

Создаём приложение Laravel при помощи команды composer create-project

Переходим в каталог проекта

Прописываем разрешение на запись для папки storage, и папки cache внутри папки bootstrap.

Затем используем образ Docker composer, чтобы смонтировать каталоги, нужные для Laravel, и чтобы избежать глобальной установки Composer.

Шаг 2. Создание файла Docker Compose

Для веб-сервера я использовал порты 8080 и 844, так как у меня уже есть на компьютере установленный Apache. И я использовал порт 33061 для MySQL — уже есть установленный сервер MySQL.

Шаг 3. Сохранение данных

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

В переменной db файла docker-compose.yml задан том под именем dbdata для хранения базы данных MySQL.

Том dbdata хранит содержимое папки var/lib/mysql внутри контейнера. Это позволяет остановливать и перезапускать службу db без потери данных.

В конце файла compose добавлено определение тома dbdata:

Добавим монтирование файлов конфигурации MySQL в службу db.

Добавим монтирование к сервису webserver. Их будет два: один для кода вашего приложения, а другой для конфигурации Nginx.

И, наконец, добавим монтирование к службе app для файлов конфигурации и кода приложения:

Служба app монтирует папку laradock, содержащую код приложения в папку /var/www в контейнере.

В итоге docker-compose.yml должен выглядеть так:

Шаг 4. Создание Dockerfile

Устанавливает базовый образ и задает необходимые команды и инструкции.

Шаг 5. Настройка PHP

Для настройки PHP создается файл local.ini.

Я добавил следующие настройки в этот файл.

Это файл, который я подмонтировал к /usr/local/etc/php/conf.d/local.ini внутри контейнера в шаге 2.

Шаг 6. Настройка NGINX

Для настройки Nginx я создал файл app.conf в папке nginx/conf.d

Шаг 7. Настройка MySQL

Для настройки MySQL был создан файл my.cnf внутри папки mysql.

Добавляем следующий код в my.cnf для того, чтобы включить логи и указать их местоположение.

Шаг 8 — Запуск контейнеров

Я определил все сервисы в файле docker-compose и создал файлы конфигурации для этих сервисов. Теперь я запускаю контейнеры командой:

Она загружает все необходимые образы Docker. После этого я просматриваю все запущенные контейнеры и их состояние, используя команду:

Шаг 9. Создание пользователя MySQL

Чтобы создать нового пользователя, запустите оболочку bash для контейнера db:

Затем создаю пользователя и даю ему все привилегии.

Сбрасываю привилегии для применения изменений.

Шаг 10. Обновление настроек окружения

Отредактируем настройки Laravel.

Обновим учетные данные базы данных и URL приложения.

Шаг 11. Перенос базы данных

Теперь у нас есть доступ к нашему приложению Laravel по адресу http://0.0.0.0:8080/

docker 1

Автор: Sreejith Ezhakkad
Перевод: Алексей Широков

Наш tmТелеграм-канал — следите за новостями о Laravel.

Задать вопросы по урокам можно на нашем форуме.

Источник

Running Laravel projects on Windows 10 using Docker

Introduction

As I’m learning all these new concepts it became clear that you don’t really start from scratch with PHP but you choose a framework.

I ended up choosing Laravel because it is popular, has a beautiful website and there is this thing called Laracasts.

Basic Task List

In this blogpost we’re going to create the Basic Task List example from the Laravel documentation using LaraDock instead of Homestead on Vagrant.

To get started I assume:

Getting started

Open a PowerShell window and create a new project folder.

Enter the newly created folder

We’ll make some slight changes to the laradockdocker-compose.yaml file:

We basically want the following in our project folder:

We didn’t install anything yet so let’s just create an empty laravel folder:

Firing up Docker

For the tutorial we need to list two containers: nginx and mysql.
Let’s move back to the laradock folder (since our docker-compose file is there) and create our containers:

This will create all the necessary container and run three containers in the background.
These being nginx, mysql and the workspace container.
Verify this by using docker-compose ps

So far so good. If you now browse to http://localhost:8300 you should get a 404 page by Nginx.
This is expected since we didn’t install anything yet.

Taking control

Ok, now let’s install Laravel using our workspace container.

Enter the Workspace container, to execute commands like (Artisan, Composer, PHPUnit, Gulp, …).

Now we can run bash commands inside the workspace container. We’ll use Composer to create our new Laravel project.

This will install Laravel inside our laravel folder.
Open up the project folder in a text editor. It should look somewhat like this:

Browsing to http://localhost:8300 should return the Laravel welcome page.

Wiring up the database

We can quickly check if this all works by running the default migrations

At this point we are good to go to follow along the tutorial.

Connecting to the database

Assuming we completed the exercise, let’s take a look at our tasks table in the database.
Exit the workspace container and enter the mysql container

To view our tables:

(mind the ;)

Final words

I hope you enjoyed this blogpost and it all makes sense. If you have any suggestions or questions please leave a comment.

Источник

I am starting with Laravel and I am following the installation guide from the official website.

So I had to install Docker with this guide.

When I run the last command it works fine

sudo docker run hello-world

Then, following the guide on the Laravel site, I run the command:

curl -s https://laravel.build/example-app | bash

to create a Laravel application as it said.

But when I do so it doesn’t work and this message appears:

Docker is not running.

The output of systemctl status docker

● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2021-03-24 09:55:07 EDT; 6min ago
     Docs: https://docs.docker.com
 Main PID: 1445 (dockerd)
    Tasks: 13
   CGroup: /system.slice/docker.service
           └─1445 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Mar 24 09:55:06 wrrnrtm-A320M-HD2 dockerd[1445]: time="2021-03-24T09:55:06.568086445-04:00" level=warning msg="Your kernel does not support CPU realtime scheduler"
Mar 24 09:55:06 wrrnrtm-A320M-HD2 dockerd[1445]: time="2021-03-24T09:55:06.568093668-04:00" level=warning msg="Your kernel does not support cgroup blkio weight"
Mar 24 09:55:06 wrrnrtm-A320M-HD2 dockerd[1445]: time="2021-03-24T09:55:06.568100040-04:00" level=warning msg="Your kernel does not support cgroup blkio weight_device"
Mar 24 09:55:06 wrrnrtm-A320M-HD2 dockerd[1445]: time="2021-03-24T09:55:06.568236866-04:00" level=info msg="Loading containers: start."
Mar 24 09:55:07 wrrnrtm-A320M-HD2 dockerd[1445]: time="2021-03-24T09:55:07.227307787-04:00" level=info msg="Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemon option --bip can be used to set a preferred IP address"
Mar 24 09:55:07 wrrnrtm-A320M-HD2 dockerd[1445]: time="2021-03-24T09:55:07.501565370-04:00" level=info msg="Loading containers: done."
Mar 24 09:55:07 wrrnrtm-A320M-HD2 dockerd[1445]: time="2021-03-24T09:55:07.551553136-04:00" level=info msg="Docker daemon" commit=363e9a8 graphdriver(s)=overlay2 version=20.10.5
Mar 24 09:55:07 wrrnrtm-A320M-HD2 dockerd[1445]: time="2021-03-24T09:55:07.551881250-04:00" level=info msg="Daemon has completed initialization"
Mar 24 09:55:07 wrrnrtm-A320M-HD2 systemd[1]: Started Docker Application Container Engine.
Mar 24 09:55:07 wrrnrtm-A320M-HD2 dockerd[1445]: time="2021-03-24T09:55:07.578162675-04:00" level=info msg="API listen on /var/run/docker.sock"

I have no idea what I’m doing wrong.
I’m using Xubuntu 18.04

  • I have tried with the latest version of my channel (Stable or Edge)
  • I have uploaded Diagnostics
  • Diagnostics ID:

Expected behavior

Docker Desktop for windows should start successfully.

Actual behavior

Diagnostic Logs, Giving below error repeatedly

Timed out while waiting for Docker daemon to be ready

   at Docker.Backend.Processes.WindowsDockerDaemon.WaitForDaemonToBeReady()
   at Docker.Backend.ContainerEngine.Windows.DoStart(Settings settings, String daemonOptions)
   at Docker.Backend.ContainerEngine.Windows.Start(Settings settings, String daemonOptions, Credential credential)
   at Docker.Backend.BackendNamedPipeServer.<Run>b__8_4(Object[] args)
   at Docker.Core.Pipe.NamedPipeServer.<>c__DisplayClass9_0.<Register>b__0(Object[] parameters)
   at Docker.Core.Pipe.NamedPipeServer.RunAction(String action, Object[] parameters)

Information

  • Windows Version: 1903 OS Build 18362.239
  • Docker Desktop Version: 2.1.0.1(37199)

image

image

Steps to reproduce the behavior

  1. Run Docker Desktop for Windows

If you are looking for a PHP framework and choose Laravel, you have chosen it correctly. It’s trendy among the other PHP Frameworks. Laravel is a well-documented framework. The laravel documentation provides all the concept one needs to understand it. But it can be a bit tricky for first-time users who started out using it.

Worry not; I will help you out. In this article, we are going to see how to run laravel 8 using Docker in Windows.

Now, for those new to laravel and docker, let’s talk about Laravel and Docker.

What is Laravel?

Laravel is a PHP web application framework. It is a scalable framework that follows the MVC ( Model-View-Controller ) Model. It’s an open-source web framework and has some amazing features such as dependency injection, queues, and scheduled jobs, unit testing, and more.

What is Laravel Sail?

Laravel Sail is a CLI ( Command-line Interface) for interacting with Laravel’s Docker environment. This means that you don’t need to use Docker to create different containers. With sail, you can build Laravel applications without you needing to have prior experience in Docker.

What is Docker?

Docker is an open-source containerization platform for building, running, and shipping applications in such a manner that it can work on your development machine and function the same way in other machines.

What is Docker good for?

Docker is a container-based tool to create, deploy, run applications and services in small, light-weight “containers” which do not interfere with your local computer’s installed software or configuration.

  1. It is lightweight and fast.
  2. It is portable. The Docker containers can run on a local laptop, on physical or virtual machines in a data center, on cloud providers, or in a mixture of environments.

Getting started on windows

Prerequisite

Now before you install docker and start using it. You must complete the following steps:-

  • Must have windows 10 installed and using version 1903 or higher.
  • Need to activate WSL ( Windows Subsystem for Linux ) for docker to work.
  • Download and install the Linux kernel update package.

If you are missing or haven’t done any of the above-mentioned steps, follow this link Step-by-Step Guide To Install WSL 2 On Windows 10.

Install Docker for Windows

Step 1: Install Docker Desktop

  1. Go to Docker Official website and download Docker Desktop for Windows
  2. Follow the installation wizard and when prompted, make sure to select the Enable Hyper-V Windows Features or the Install required Windows components for WSL option in the Configuration page.

Step 2: Set up Docker Settings

After installing the docker desktop, open the docker application and go to settings.

In Settings > General, make sure to enable the “Use the WSL based engine”. ( This option is enabled by default If you have installed Docker Desktop on a system that supports WSL 2 )

enable docker wsl 2 engine

Now, In Settings > Resources > WSL INTEGRATION, make sure to turn on the “Enable integration with additional distros”.

docker wsl 2 integration

Then click Apply & Restart.

Run the laravel application

Step1: Get into your Linux distribution

Open command prompt and run command – wsl

Take a closer look! The current path is pointing to your Windows User Directory.

wsl-2-starting-linux

Now, it is recommended to store source code and other bind-mounted data into Linux containers in the Linux file system rather than the Windows file system.

So, execute the command – ” cd ~ ” to get into the Linux User Directory.

WSL 2 changing to linux directory

Step 2: Create a new Laravel Project

To create a new laravel project, execute this command:

curl -s https://laravel.build/example-app | bash

You can change “example-app” to anything you like.

Choosing Your Sail Services – When you create a new Laravel application via Sail, you can use the “with" query string variable to choose which services should be configured in your new application’s file. Available services include mysqlpgsqlmariadbredismemcachedmeilisearchselenium, and mailhog.

curl -s "https://laravel.build/example-app?with=mysql,redis,selenium" | bash

If you do not specify which services you need, a default stack of mysqlredismeilisearchmailhog And selenium will be configured.

Step 3: Use the sail command to run the Application

First, go into your laravel app directory.

cd example-app

then enter this command

./vendor/bin/sail up -d
NOTE:
If it is a fresh install, docker requires downloading all dependency images.So, it will take some time to build your Container for the first boot up.

After running the above command, type “http://localhost” in your browser URL.

laravel- homepage using docker

To close the running application, enter this command:

./vendor/bin/sail down

To start working on the application and writing code using VS Code enter this command.

code .

Once the VS code opens, it will remind you to install the WSL extension. Install the extension and close VS code. Restart using the above mention command and start coding.

And that’s how you run a Laravel application using Docker in windows.


Tips you need to know while working with laravel and docker

Know where to locate and store your files.

Let us see where the files are when you create a new laravel project. Open your file explorer and type this— \wsl$ and press enter.

NOTE:
For \wsl$ command to work, make sure that your docker desktop is running.
access linus file by entering \wsl$ in file explorer

And this will open the directory containing Linux files. To find your Linux project follow this path:

Linux distribution/ Home folder/ user directory/ laravel app name

kali-Linux > Home > weed > example-app

linux file location in windows

Using alias for long commands

Writing “./vendor/bin/sail” every time you want to run any sail command is inefficient. That’s where alias comes in. We use an alias in place of that long code. Let us see how it’s done.

alias command for sail

This is one way to do it, but it also has its drawbacks. If you close the terminal and restart it, you will have to create the alias for sail again. So every time you start the command prompt, you will have to create the alias command.

So let’s try a different approach and make the alias permanent.

Step1 – edit the bashrc file using this command – nano ~/.bashrc

open bash to edit bashrc

Now, edit the bashrc file. Go to the bottom of the file and add the command – alias sail=’bash vendor/bin/sail’ and save the file.

adding alias for sail in bash file

apply the changes

save and apply the bash changes

And You are done. You have successfully added the alias command into the bashrc file.

If you read it until last, you now know how to run a laravel application using Docker in windows.

Thank You for reading till the end. If you find this article useful, don’t forget to save it and share it with your friends. If you find any mistake or something didn’t work out quite right, do let me know. Thank You for reading!

Я только начинаю изучать laravel и следую руководству из https://laravel.com/docs/8. x / installation «Начало работы в Windows». Мне удалось установить Docker Desktop и настроить для использования WSL2 Backend.

Когда я запускаю команду curl -s https://laravel.build/example-app | bash для создания каталога приложения laravel из cmd, появляется это предупреждение Docker is not running.

Я запускаю curl из командной строки. (cmd).

Обновить:

Итак, я запускаю команду в Терминале Windows :.

PS E:Play> curl -s https://laravel.build/example-app | bash

Вот ответ, который я получаю:

cmdlet Invoke-WebRequest at command pipeline position 1
Supply values for the following parameters:
Uri:

Любая идея, что делать?

4 ответа

Лучший ответ

Попробуйте явно включить интеграцию с вашим дистрибутивом в настройках Docker: введите здесь описание изображения

После этого перезапустите терминал WSL2 и попробуйте еще раз. Это должно помочь. Вы также можете открыть https://laravel.build/example-app в браузере и проверить, какие команды скрипт запущен: и запустите их вручную, чтобы проверить вывод на наличие ошибок.


19

Dmitrii
24 Май 2021 в 15:53

Вам нужно установить дистрибутив Linux, а затем в Терминале Windows создать новую вкладку для дистрибутива Linux и запустить команду там, а не на вкладке Windows PowerShell.


3

Bob bobbington
13 Мар 2021 в 13:59

Те, кто использует Ubuntu или Debian, могут ознакомиться с этим руководством по установке и настройке Docker.

sudo snap install docker 
sudo usermod -aG docker $(whoami) 


sudo chmod 666 /var/run/docker.sock


3

Mohit Sharma
31 Авг 2021 в 13:41

Убедитесь, что вы используете команду curl в своем дистрибутиве. Используйте приложение Windows Terminal. и откройте новую вкладку как WSL2 (ваш дистрибутив).


1

Tharanga
3 Июн 2022 в 12:06

Понравилась статья? Поделить с друзьями:
  • Docker engine failed to start windows 10 как исправить
  • Docker desktop windows 10 как пользоваться
  • Docker desktop requires windows 10 pro enterprise home 18363
  • Docker desktop installation failed windows 7
  • Docker desktop for windows что это