Up and running with small Docker environments

Overview

Vessel

Up and running with small Docker dev environments.

Documentation

Full documentation can be found at https://vessel.shippingdocker.com.

Install

Vessel is just a small set of files that sets up a local Docker-based dev environment per project. There is nothing to install globally, except Docker itself!

This is all there is to using it:

composer require shipping-docker/vessel
php artisan vendor:publish --provider="Vessel\VesselServiceProvider"

# Run this once to initialize project
# Must run with "bash" until initialized
bash vessel init

./vessel start

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

Lumen

If you're using Lumen, you'll need to copy the Vessel files over manually instead of using php artisan vendor:publish. You can do this with this command:

cp -R vendor/shipping-docker/vessel/docker-files/{vessel,docker-compose.yml,docker} .

and then you'll be able to install and continue as normal.

Multiple Environments

Vessel attempts to bind to port 80 and 3306 on your machine, so you can simply go to http://localhost in your browser.

However, if you run more than one instance of Vessel, you'll get an error when starting it; Each port can only be used once. To get around this, use a different port per project by setting the APP_PORT and MYSQL_PORT environment variables in one of two ways:

Within the .env file:

APP_PORT=8080
MYSQL_PORT=33060

Or when starting Vessel:

APP_PORT=8080 MYSQL_PORT=33060 ./vessel start

Then you can view your project at http://localhost:8080 and access your database locally from port 33060;

Sequel Pro

Since we bind the MySQL to port 3306, SequelPro can access the database directly.

sequel pro access

The password for user root is set by environment variable DB_PASSWORD from within the .env file.

The port setting must match the MYSQL_PORT environment variable, which defaults to 3306.

Common Commands

Here's a list of built-in helpers you can use. Any command not defined in the vessel script will default to being passed to the docker-compose command. If not command is used, it will run docker-compose ps to list the running containers for this environment.

Show Vessel Version or Help

# shows vessel current version
$ vessel --version # or [ -v | version ]

# shows vessel help
$ vessel --help # or [ -H | help ]

Starting and Stopping Vessel

# Start the environment
./vessel start

## This is equivalent to
./vessel up -d

# Stop the environment
./vessel stop

## This is equivalent to
./vessel down

Development

# Use composer
./vessel composer <cmd>
./vessel comp <cmd> # "comp" is a shortcut to "composer"

# Use artisan
./vessel artisan <cmd>
./vessel art <cmd> # "art" is a shortcut to "artisan"

# Run tinker REPL
./vessel tinker # "tinker" is a shortcut for "artisan tinker"

# Run phpunit tests
./vessel test

## Example: You can pass anything you would to phpunit to this as well
./vessel test --filter=some.phpunit.filter
./vessel test tests/Unit/SpecificTest.php


# Run npm
./vessel npm <cmd>

## Example: install deps
./vessel npm install

# Run yarn

./vessel yarn <cmd>

## Example: install deps
./vessel yarn install

# Run gulp
./vessel gulp <cmd>

Docker Commands

As mentioned, anything not recognized as a built-in command will be used as an argument for the docker-compose command. Here's a few handy tricks:

# Both will list currently running containers and their status
./vessel
./vessel ps

# Check log output of a container service
./vessel logs # all container logs
./vessel logs app # nginx | php logs
./vessel logs mysql # mysql logs
./vessel logs redis # redis logs

## Tail the logs to see output as it's generated
./vessel logs -f # all logs
./vessel logs -f app # nginx | php logs

## Tail Laravel Logs
./vessel exec app tail -f /var/www/html/storage/logs/laravel.log

# Start a bash shell inside of a container
# This is just like SSH'ing into a server
# Note that changes to a container made this way will **NOT**
#   survive through stopping and starting the vessel environment
#   To install software or change server configuration, you'll need to
#     edit the Dockerfile and run: ./vessel build
./vessel exec app bash

# Example: mysqldump database "homestead" to local file system
#          We must add the password in the command line this way
#          This creates files "homestead.sql" on your local file system, not
#          inside of the container
# @link https://serversforhackers.com/c/mysql-in-dev-docker
./vessel exec mysql mysqldump -u root -psecret homestead > homestead.sql

What's included?

The aim of this project is simplicity. It includes:

  • PHP 7.4
  • MySQL 5.7
  • Redis (latest)
  • NodeJS (latest), with Yarn & Gulp

How does this work?

If you're unfamiliar with Docker, try out this Docker in Development course, which explains important topics in how this is put together.

If you want to see how this workflow was developed, check out Shipping Docker and signup for the free course module which explains building this Docker workflow.

Supported Systems

Vessel requires Docker, and currently only works on Windows, Mac and Linux.

Windows requires running Hyper-V. Using Git Bash (MINGW64) and WSL are supported. Native Windows is still under development.

Mac Linux Windows
Install Docker on Mac Install Docker on Debian Install Docker on Windows
Install Docker on Ubuntu
Install Docker on CentOS
Comments
  • How to configure xDebug w/ PHPStorm

    How to configure xDebug w/ PHPStorm

    Description

    I have been trying to figure out all day how to get xDebug configured with Vessel and am not have any success at all. Does ANYBODY know the trick to making this work?

    OS

    My OS is:

    • [x] MacOS Sierra, High Sierra

    Docker

    The output of docker version:

    Client:
     Version:	17.12.0-ce
     API version:	1.35
     Go version:	go1.9.2
     Git commit:	c97c6d6
     Built:	Wed Dec 27 20:03:51 2017
     OS/Arch:	darwin/amd64
    
    Server:
     Engine:
      Version:	17.12.0-ce
      API version:	1.35 (minimum version 1.12)
      Go version:	go1.9.2
      Git commit:	c97c6d6
      Built:	Wed Dec 27 20:12:29 2017
      OS/Arch:	linux/amd64
      Experimental:	true
    

    The output of docker-compose version:

    docker-compose version 1.18.0, build 8dd22a9
    docker-py version: 2.6.1
    CPython version: 2.7.12
    OpenSSL version: OpenSSL 1.0.2j  26 Sep 2016
    
    opened by mfour-merickson 31
  • Add windows support

    Add windows support

    Hey @fideloper

    The Windows support is here! Everything works beautifully, so please let me know if you have any comments or suggestions. I have updated the readme docs as well.

    Cheers!

    opened by cmosguy 24
  • laravel.log: Permission denied.

    laravel.log: Permission denied.

    On first install, after vessel start.

    Visiting http://localhost

    Immediately get Whoops error:

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

    OpenSUSE 42.3 Docker version 17.04.0-ce, build 78d1802 ZSH shell

    I know it's newly released. Just a quick observation.

    Edit: Connecting to app container: ./vessel exec app bash

    and then manually running: chown -R www-data: /var/www/html

    Resolves this issue. Not sure it's not running from the dockerfile.

    opened by faasie 19
  • Unable to use mysql

    Unable to use mysql

    Description

    I freshly installed docker and Vessel on my working station. But when trying to migrate my database, I get an error :

    Illuminate\Database\QueryException  : SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known (SQL: select * from information_schema.tables where table_schema = laravel and table_name = migrations and table_type = 'BASE TABLE')
    

    And when running

    # Log into mysql
    ./vessel mysql
    

    I get this message : ERROR: No container found for mysql_1

    Thanks for your help !

    OS

    My OS is:

    • [x] MacOS [Mojave]
    • [ ] Linux
    • [ ] Windows

    Docker

    The output of docker version:

    Client: Docker Engine - Community
     Version:           18.09.2
     API version:       1.39
     Go version:        go1.10.8
     Git commit:        6247962
     Built:             Sun Feb 10 04:12:39 2019
     OS/Arch:           darwin/amd64
     Experimental:      false
    
    Server: Docker Engine - Community
     Engine:
      Version:          18.09.2
      API version:      1.39 (minimum version 1.12)
      Go version:       go1.10.6
      Git commit:       6247962
      Built:            Sun Feb 10 04:13:06 2019
      OS/Arch:          linux/amd64
      Experimental:     false
    

    The output of docker-compose version:

    docker-compose version 1.23.2, build 1110ad01
    docker-py version: 3.6.0
    CPython version: 3.6.6
    OpenSSL version: OpenSSL 1.1.0h  27 Mar 2018
    

    The output of docker image ls:

    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    vessel/node         latest              3e98f69e6c95        About an hour ago   928MB
    vessel/app          latest              cf10e96ea585        About an hour ago   355MB
    node                latest              b074182f4154        6 hours ago         906MB
    mysql               5.7                 a1aa4f76fab9        15 hours ago        373MB
    redis               alpine              72e76053ebb7        3 weeks ago         50.9MB
    ubuntu              18.04               7698f282e524        3 weeks ago         69.9MB
    
    opened by bistory 16
  • ./vessel build fails | invalid user ID 'node'

    ./vessel build fails | invalid user ID 'node'

    Hello there,

    I've just tried to install vessel (on Linux) but the ./vessel build node command fails with this message:

    usermod: invalid user ID 'node'
    ERROR: Service 'node' failed to build: The command '/bin/sh -c usermod -u $uid node' returned a non-zero code: 3
    

    The app image builds fine.

    opened by Lednerb 15
  • Fallback to docker if composer is not present on the local machine

    Fallback to docker if composer is not present on the local machine

    Hey there @shippingdocker :) first of all, thanks for Vessel. I really like how it makes things simple.

    I noticed a strange thing and I wanted to fix it.

    I tried to reproduce all the steps in order to prepare everything without locally installed PHP & Composer.

    However, if you go through all the steps as explained in the docs, once you arrive to the bash vessel init you get a "No composer command found" because there isn't a fallback to docker while trying to get initialize COMPOSER variable in the bash file.

    Here's a fix proposal: if COMPOSER value cannot be resolved via which, the fallback is a docker run and everything works normally.

    Let me know what do you think about this :)

    opened by francescomalatesta 13
  • Unable to locate packages php7.2-memcached and php7.2-xdebug

    Unable to locate packages php7.2-memcached and php7.2-xdebug

    Description

    When rebuilding images, the apt-get install command from app container fails with a Unable to locate package error.

    image

    OS

    My OS is:

    • [X] MacOS Mojave (10.14)

    Docker

    The output of docker version:

    Client:
     Version:           18.06.1-ce
     API version:       1.38
     Go version:        go1.10.3
     Git commit:        e68fc7a
     Built:             Tue Aug 21 17:21:31 2018
     OS/Arch:           darwin/amd64
     Experimental:      false
    
    Server:
     Engine:
      Version:          18.06.1-ce
      API version:      1.38 (minimum version 1.12)
      Go version:       go1.10.3
      Git commit:       e68fc7a
      Built:            Tue Aug 21 17:29:02 2018
      OS/Arch:          linux/amd64
      Experimental:     true
    

    The output of docker-compose version:

    docker-compose version 1.22.0, build f46880f
    docker-py version: 3.4.1
    CPython version: 3.6.4
    OpenSSL version: OpenSSL 1.0.2o  27 Mar 2018
    
    opened by gabrielboliveira 12
  • Windows support for Git Bash and WSL

    Windows support for Git Bash and WSL

    Windows Support

    There are (potentially) 3 ways Windows developers would access Vessel and/or Docker

    1. MINGW64 - This includes Git Bash, Babun, Cygwin and direct MINGW64 installations
    2. Windows Subsystem for Linux (WSL)
    3. Native Windows - Command Prompt or Powershell

    Since the Vessel script is written in bash the 3rd option is really it's own thing. The first 2 options give us a bash shell (with other common GNU utils like sed) in which we can utilize the bash script.

    Notes on things added

    • I didn't use Windows as a result of a detection because I figured this would be reserved for native windows support and I don't want to confuse people. Instead the MINGW64 is being used.

    • Using $(uname -s) on WSL will just return "Linux". Because of this we need to add a detection method for WSL. Fortunately the output of /proc/version differs as WSL adds Microsoft to their version name. We can grep this output for Microsoft to determine it is WSL instead of a Linux OS.

    Differences between #20 and this PR

    1. CHANGED The detection was listed as Windows10 but that can be confusing for people looking for native windows support.
    2. REMOVED COMPOSE_CONVERT_WINDOWS_PATHS=1 doesn't appear to be necessary. The documentation only states Docker Toolbox (legacy) or docker-machine.
    3. REMOVED COMPOSE="winpty $COMPOSE" While winpty is necessary in some cases but ONLY if you are using Mintty as the default terminal for Git Bash. This choice is made during the installation of Git for Windows. If you are using the standard command prompt this is not needed at all. I haven't ran into any issues from the Vessel executing script using Mintty. The only time I have had to use this is when I'm trying to log onto one of the containers interactively. In this case it prompts me to try prefixing winpty in which I just do that and everything works.
    4. ADDED SEDCMD="sed -i" under the MING64 detection. It was missing from that PR and so the substitutions under Setting .env variables were not working correctly.

    This script was tested on 2 different Windows machines; 1 domain joined laptop, and 1 custom desktop PC. Both are running Windows 10 Pro, Version 1709 Build 162999.19 (Creators Update)

    Docker for Windows (Docker Community Edition) Version 17.09.0-ce-win33 (13620)

    This PR would close #20

    opened by cringer 12
  • Suggestion: Use xdebug.remote_connect_back setting

    Suggestion: Use xdebug.remote_connect_back setting

    First of all, thanks for this project!

    I would like to share a suggestion. How about using xdebug.remote_connect_back instead of xdebug.remote_host?

    This change would avoid setting the xdebug port. I think it's a good choice for development environments.

    If you agree, I can work at the PR.

    opened by aanton 11
  • Install php-redis by default

    Install php-redis by default

    Description

    Since predis/predis seems to be unmaintained it might make sense to install php-redis and no longer rely on predis/predis.

    OS

    My OS is:

    • [ ] MacOS [Choose one: Yosemite, El Capitan, Sierra, High Sierra, Mojave]
    • [x] Linux
    • [ ] Windows

    Docker

    The output of docker version:

    Docker version 19.03.1, build 74b1e89
    

    The output of docker-compose version:

    docker-compose version 1.17.0, build ac53b73
    docker-py version: 2.5.1
    CPython version: 2.7.13
    OpenSSL version: OpenSSL 1.0.1t  3 May 2016
    
    opened by lorenzbausch 9
  • Proposal:  Add `help` output

    Proposal: Add `help` output

    Hey @fideloper

    I am curious if you are keen on accepting a PR to add help output

    > vessel --help, -H
    

    I often forget what commands are available when I am using across projects, thinking it would be nice to have internal help system

    opened by mikeerickson 9
  • Append PHP version on  Redis php extension

    Append PHP version on Redis php extension

    Hi,

    I've worked on a project that used, this docker environement, but I found an issue when I build.

    The version of the php-redis extension is missing so it install php8.1 instead of php7.3

    opened by yepzy 0
  • Clockwork debugger blank because of expires.conf

    Clockwork debugger blank because of expires.conf

    Description

    I've installed the Clockwork debugger: https://underground.works/clockwork/#docs-installation When accessing the local Clockwork app under http://localhost/__clockwork/app it gives a blank screen, and debug tools in browser show that all Clockwork images,js and css files return a 404.

    Tracked the problem down to docker/app/h5bp/location/expires.conf, specifically the expires rule for images, json and js/css files.

    When removed, and then vessel down followed by vessel build app Clockwork starts working.

    My knowledge of nginx config is a bit rusty, so I'm unsure what could be done to fix this. Hoping we can integrate a fix so that I don't have to manually do this every time I install or update Clockwork? 👯‍♂️

    OS

    macOS Catalina 10.15.4

    My OS is:

    • [*] MacOS [Choose one: Yosemite, El Capitan, Sierra, High Sierra, Mojave]
    • [ ] Linux
    • [ ] Windows

    Docker

    The output of docker version:

    > docker version
    Client: Docker Engine - Community
     Version:           19.03.8
     API version:       1.40
     Go version:        go1.12.17
     Git commit:        afacb8b
     Built:             Wed Mar 11 01:21:11 2020
     OS/Arch:           darwin/amd64
     Experimental:      false
    
    Server: Docker Engine - Community
     Engine:
      Version:          19.03.8
      API version:      1.40 (minimum version 1.12)
      Go version:       go1.12.17
      Git commit:       afacb8b
      Built:            Wed Mar 11 01:29:16 2020
      OS/Arch:          linux/amd64
      Experimental:     false
     containerd:
      Version:          v1.2.13
      GitCommit:        7ad184331fa3e55e52b890ea95e65ba581ae3429
     runc:
      Version:          1.0.0-rc10
      GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd
     docker-init:
      Version:          0.18.0
      GitCommit:        fec3683
    

    The output of docker-compose version:

    > docker-compose version
    docker-compose version 1.25.5, build 8a1c60f6
    docker-py version: 4.1.0
    CPython version: 3.7.5
    OpenSSL version: OpenSSL 1.1.1f  31 Mar 2020
    
    opened by madsem 4
  • Support for Websocket Laravel Library

    Support for Websocket Laravel Library

    This new PR supports laravel websockets running on same container to have a good integration with websockets Library, it runs on PORT 6001 and works only installing its library.

    opened by Benjacho 0
Releases(6.0.0)
  • 6.0.0(Oct 15, 2020)

    NOTE: This is a major version release with potentially breaking changes.

    Rebuild Your Images

    After upgrading, you'll need to rebuild your app image. Follow step 4 "Rebuild Containers" in the upgrade guide.

    Changes

    • Upgrade to Ubuntu 20.04 via #147
    • Disabled ipv6 when importing gpg keys via #136
    • Allows PHP (Swagger) to serve static content without a 303 via #92
    • No longer install predis on init via f86981b588d374188590b5ef8f78826d36efc97f
    Source code(tar.gz)
    Source code(zip)
  • 5.0.0(Jan 13, 2020)

  • 4.1.0(Sep 17, 2019)

  • 4.0.1(Feb 19, 2019)

  • 4.0.0(Jan 7, 2019)

  • 3.2.0(Oct 16, 2018)

    • Merged in PR #88 to resolve an issue of PPA:ondrej/php linking "naked" package names (un-versioned ones) to php 7.3 instead of 7.2.
    • Merged in PR #78 to update the issues template for MacOS Mojave
    Source code(tar.gz)
    Source code(zip)
  • 3.1.0(Sep 14, 2018)

    • Don't explicitly define a docker-compose.yml file, to allow default docker-compose.override.yml to be used (compose version 3 feature) via #81
    • Make the dump command a little cleaner by using MySQL environment variables to avoid Warnings when running a dump via #68
    • Added a php command shortcut: ./vessel php -r "echo 'hello world';"
    • Added checks to see if env vars existed in the .env file before attempted a find/replace against them via #61
    • Increased PHP max upload size via #59
    • Added new commands via #60
      • ./vessel php ... - execute arbitrary php commands in the container
      • ./vessel node ... - execute node inside the container (previously only npm, yarn had a command)
      • ./vessel ssh [app|mysql] - executes "bash" inside the container (note: it's not actually SSH)
      • ./vessel mysql - log into the mysql database and set the current database to the one set by env vars (so you won't need to run use some_db in the mysql shell)
    Source code(tar.gz)
    Source code(zip)
  • 3.0.1(Mar 2, 2018)

  • 3.0.0(Feb 19, 2018)

    🔥➡️➡️➡️ THIS IS A BREAKING CHANGE ⬅️⬅️⬅️🔥.

    Rebuild Your Images

    After upgrading, you'll need to rebuild your app image. Follow step 4 "Rebuild Containers" in the upgrade guide.

    Changes

    1. #45: Updating to PHP 7.2
      • Including xDebug
    2. #56: Support for ip command, if present
    3. #57: Support for ./vessel tinker, a (probably) popular command
    Source code(tar.gz)
    Source code(zip)
  • 2.1.0(Nov 23, 2017)

    • #26: Windows Support
      • This looks to be a non-breaking change! 🎉
    • Put the project under the MIT license
    • If composer is not found, fall back to a pre-built container that has composer, which then works as documented for those who don't already have PHP7/Composer installed
    • Changed the .env.vessel file name to .env.bak.vessel to make it more obvious that it's just a backup file (since Vessel makes changes to the .env file)
    Source code(tar.gz)
    Source code(zip)
  • 2.0.0(Nov 9, 2017)

    ➡️➡️➡️ 🔥**This version has a breaking changes.**🔥 Thus we'll do a major version change to 2.0.0. **

    ➡️➡️➡️ Users will be required to re-build their containers.

    Breaking Changes

    • Via #30: Use WORKDIR in Dockerfile to simplify Vessel command and get around some grimness when using exec.
    • Via d1c71e6: Dockerfile for app container creates user vessel and changes that user's UID via ENTRYPOINT (anytime a container is started) to match the current user's UID, allowing file writes to the container. This gets around:
      • Linux user file permissions with Docker (which we've gotten around before, but this also allows point 2 below)
      • Commands like ./vessel artisan tinker which write history to $HOME/.config within the container now will have permission to write to that location, whereas before we'd hit an error attempting to write to //.config (file path in root directory, with double back-slash since $HOME=/ by default)

    Minor Changes

    • Via #25: MAINTAINER replaced with Label within Dockerfile
    • Via #24: Readme references correct env var
    Source code(tar.gz)
    Source code(zip)
  • 1.1.3(Oct 31, 2017)

    This update fixes user permissions when running CLI commands (mostly on Linux).

    Note: Rebuild your containers

    This update makes a change to how the app container is built. It's not technically a breaking change, but to get the full update, you'll need to rebuild the containers as documented here.

    Update Notes

    • In particular, we run exec commands with the -u flag and set the user ID to the currently running user id.
    • Running commands otherwise will use gosu, which does "magic" to run a command that starts up a container as a non-root user, while letting us do things ahead of time as the root user within the container (the official mysql container does this as well, if you're interested to see it! Installing Gosu - Using Gosu)
    Source code(tar.gz)
    Source code(zip)
  • 1.1.2(Oct 20, 2017)

    Adds a "post-update-cmd" hook in composer.json to remind users to check this space to see if any updates require a rebuilding of their Docker images (which version 1.2 will need!)

    Update: It didn't actually work, the hook isn't called when the package is a dependency of a parent project. So, that's fun. I'll need a fancier/better way to tell people when to rebuild their images.

    Source code(tar.gz)
    Source code(zip)
  • 1.1.1(Oct 20, 2017)

    • Typo's fixed
    • PHP-FPM sets clear_env to false to allow sending env variables to PHP (good for development, not production, but this isn't a production tool) via #9
    • Don't create extraneous .env".bak" file via #16
    • Source .env file after APP_PORT and MYSQL_PORT defaults are set, so .env file can over-ride the defaults (and allow the .env file to be used over specifying in the CLI manually) via e18cba
    • Pass in all arguments to composer, artisan and phpunit, fixing #18
    Source code(tar.gz)
    Source code(zip)
  • 1.1.0(Oct 10, 2017)

    Support for Linux!

    This update deals more properly with Linux volume mounting and file permissions when running Docker directly on a Linux host (which, unlike MacOS, requires no layer of virtualization to run).

    Source code(tar.gz)
    Source code(zip)
  • 1.0.0(Oct 10, 2017)

Owner
Shipping Docker
Learn how to use Docker in development, testing, and production!
Shipping Docker
Quickly deploy a seedbox with self-hosted services and a web portal using Docker and docker-compose.

Seedbox Quickly deploy and configure a seedbox with self-hosted services and a web portal using Docker and a single docker-compose.yml file. Screensho

null 6 Dec 7, 2022
Vagrant is a tool for building and distributing development environments.

Vagrant Website: https://www.vagrantup.com/ Source: https://github.com/hashicorp/vagrant HashiCorp Discuss: https://discuss.hashicorp.com/c/vagrant/24

HashiCorp 24.8k Jan 2, 2023
Phansible - generate Vagrant + Ansible dev environments for PHP

Phansible Phansible is a simple generator for Vagrant projects, targeting PHP development environments, using Ansible as Provisioner. It was inspired

phansible 639 Nov 1, 2022
Docker Shortie, simplifying calls to CLI commands inside docker containers.

What is DockTie Is a simple wrapper script for commands inside docker container(s). So for instance, what you would normally run as: docker-compo

null 3 Mar 31, 2022
A modern Docker LAMP stack and MEAN stack for local development

The Devilbox Usage | Architecture | Community | Features | Intranet | Screenshots | Contributing | Logos | License Support for valid https out of the

cytopia 4k Jan 8, 2023
Laravel 5 with Dockerized Gulp, PHP-FPM, MySQL and nginx using docker-compose

docker-laravel Laravel 5 with Dockerized PHP-FPM, MySQL and nginx using docker-compose Usage Get Composer docker-compose run --rm phpnginx curl -O htt

Harsh Vakharia 83 Feb 8, 2022
Docker with PHP 7.4 fpm, Nginx, Composer, PhpUnit and MaridaDB

Clean Docker with PHP Docker with PHP 7.4 fpm, Nginx, Composer, PhpUnit and MariaDB Starting app docker-compose up -d Main page

Grzegorz Bielski 7 Nov 17, 2022
A package that allows you to generate simple and fast Docker configurations for your Laravel application!

A package that allows you to generate simple and fast Docker configurations for your Laravel application!

Lucas Nepomuceno 3 Oct 8, 2022
ServD - a Docker PHP development environment heavily inspired by Laravel Valet and Laradock

ServD ServD is a Docker PHP development environment heavily inspired by Laravel Valet and Laradock, it supports multiple projects within a working dir

Matt Clinton 2 May 13, 2022
Full PHP development environment for Docker.

Full PHP development environment based on Docker. Use Docker First - Learn About It Later! Join Us Awesome People Laradock is an MIT-licensed open sou

laradock 11.7k Jan 7, 2023
Symfony5 template w/ Docker config

Symfony5 w/ Docker config A project template in the following configuration: Symfony 5.2 PHP8 PostgreSQL 13.2 Separate Docker containers for Nginx, FP

Andrew Alyamovsky 5 May 14, 2022
Docker NAT容器自助部署php版本,实现从搭建到跑路的全生命周期功能。

DockerLabs-V1 游客可通过web页面直接创建出NAT容器,本项目从发布后将不再维护任何bug,以后有时间会出sdk重构版。 环境要求 使用了赛邮云发送短信号码,需要自己去申请appid和appkey填写到app_config.php文件中。需要修改所有html文件和api/kill.ph

xiz 35 Mar 4, 2022
The project provides a docker image for Files App(files.photo.gallery).

For the purpose of learning,I replace the files.js with cracked version which just remove authorization code.

cjy0526 30 Oct 16, 2022
Multipurpose VIP Docker container images

VIP Container Images This repository is used to build Docker container images used, among others, by the VIP Local Development Environment. Images are

Automattic 10 Nov 2, 2022
Docker Containers for simple Laravel development.

Docker containers of Laravel development. Docker Containers for simple Laravel development. Prerequisites This package only works for Linux users righ

Steve Azzopardi 14 May 19, 2022
Shopware 6 app boilerplate + Symfony backend + Dockware docker dev environment 💙

Shopware 6 app boilerplate with Symfony backend This boilerplate template can be used to get up and running with a docker-based dev setup for Shopware

Rune Laenen 8 Oct 11, 2022
Ponto de partida para utilização do Docker Compose 💙✨

Docker-compose Docker | WSL2 | PHP | Nginx | MySQL Esse projeto fornece um ponto de partida para integrar diferentes serviços usando um arquivo Compos

Julia Tangerino 1 Nov 9, 2021
Docker-based workflow management system for Laravel

DevOption Workflows Workflows is a Docker-based workflow management system for Laravel applications. Installation You can install the package via comp

devoption.io 1 Jan 5, 2022
Runs a PHP-based startpage in Docker

docker-php-startpage Runs a PHP-based startpage in Docker Source code: GitHub Docker container: Docker Hub Image base: PHP Init system: N/A Applicatio

Logan Marchione 25 Dec 28, 2022