Public | Automated Build

Last pushed: 2 months ago
Short Description
Docker image for vapor projects
Full Description

Vapor for Docker

This setup has been made with Docker 1.12 for Mac.
You can download Docker For Mac/Windows here
Mac

This will remove Docker toolbox and migrate your current containers to Docker Engine if you have any.

The base image is build on Ubuntu 16.04 with Swift 3.1 and Vapor toolbox

Simple setup

You can use the base image to get a simple setup with Vapor & Docker up and running.
Go to your projects root directory and run this command

docker run --rm -ti -v $(pwd):/vapor -p 8080:8080 vapor/vapor:latest

This command will start a container with a mounted directory and build and run the source inside the container. You can access to your app using https://localhost:8080

this image doesn't have MySQL, PGSQL or SQLite

Extended setup

You need to build your own image to extend my base image with MySQL, PGSQL or SQLite.
There is a Dockerfile that makes this really simple.

Clone this repo inside your vapor project, go to the directory /docker/vapor.
Run this command

docker build -t <your own name to choose> .
We are going to use vapormysql in this example.

These options can be added to the build line:

MySQL

--build-arg INSTALL_MYSQL=true

PGSQL

--build-arg INSTALL_PGSQL=true

SQLite

--build-arg INSTALL_SQLITE=true

So for example to get Swift & Vapor with MySQL support run this
docker build -t vapormysql --build-arg INSTALL_MYSQL=true .

That will make a image with MySQL support based on the base image.
Then you can use the commands i put in the top of this document and replace vapor/vapor:latest with vapormysql.

Nginx

You need to name your vapor container for vapor that is done by adding --name vapor in the run command for your vapor image.
Then you go to the folder nginx and build the image docker build -t nginxvapor .

After the image has been build run it with docker run -d --link vapor:vapor -p 80:80 nginxvapor
This command will start nginx and run it detached.`

Docker Pull Command
Owner
gperdomor
Source Repository

Comments (0)