This site runs best with JavaScript enabled.

Laravel & Docker, Zero config with Vessel

Youssouf El Azizi

November 16, 2017

elazizi, dev, react

This article is a step-by-step to get started with Vessel ( the new way to setup the Laravel setup config with docker).

If your are not familiar with docker you can check my last article “ A step by step guide to setup PHP (Laravel) environment (Linux)”.

Itis a long time that I am a big fan of chris fideo the author of servers for hackers ,one of the most rich source of content to learn server’s configurations , security ,database,docker and much more DevOps topics.

Dockerizing your Application is one of the amazing free course, it’s a step-by-step docker workflow to develop a breeze for your application. According to Chris,Vessel is the result of this docker workflow more is an official that everyone could easily use.

Let’s give it a try

Vessel is a lightweight docker environment for Laravel, that means it is just a small set of files that set up a local docker development environment per project and there is no extra thing to install globally, expect Docker system itself.

Install Docker and Docker-compose

Docker is an open source project based on Linux container, if you are not familiar yet with docker, this article “ A Beginner-Friendly Introduction to Containers, VMs and Docker ” by Preethi Kasireddy is the ideal place to take your first step.

At this moment Vessel only works on Mac and Linux because it uses a bash script to run Docker commands.

For Linux Ubuntu distribution the easiest way to install docker is by the following:

1curl -fsSL | sudo sh
2sudo usermod -aG docker your-user // add your user to docker group

To Install docker compose run this command to download the latest version :

1sudo curl -L [`uname]( -s`-`uname -m` -o /usr/local/bin/docker-compose

Next,Apply executable permissions to the binary.

1sudo chmod +x /usr/local/bin/docker-compose

Learn more about docker installation : docker , docker-compose

Get Started with Vessel

First you need to create a Laravel project to start with by the following :

1composer create-project — prefer-dist laravel/laravel vessel_test

Now and as I mention before Vessel is lightweight docker environment includes a Laravel service provider that makes easy and simple to start your own development setup. All you need to do in order to start your dev setup with vessel :

# Install Vessel into your project

1composer require shipping-docker/vessel

# Publish the vessel command and Docker files

1php artisan vendor:publish — provider=”Vessel\VesselServiceProvider”

# Run this once to initialize project # Must run with “bash” until initialized

1bash vessel init

The first time you start up an application with Vessel using the init command, vessel will download the following official Docker images:

  • PHP 7.1
  • MySQL 5.7
  • Redis
  • NodeJS with NPM, Yarn, and Gulp

Start vessel by running :

1cd vessel_test
2./vessel start

Head to http://localhost in your browser and see your Laravel site!

And at last, also Vessel has good documentation that covers everything you need to know to get started : official documentation

Bonus : Vessel Cheat Sheet

Thanks for reading! If you think other people should read this, clap for me, tweet and share the post. Remember to follow me on Medium so you can get notified about my future posts.

Share article 👉

Get updates via email

JavaScript, React, React Native and web thoughts