Migrating from Rvm to Docker

@PabloVallejo

@PabloVallejo_

What is Docker?

An open platform for distributed applications 

A configurable Lightweight and Fast Virtual Machine

Use cases

Microservices

Distributed Systems

Development Environments

50% - 70%

Dockerized, Production/Development

30%

Dockerized, Development

Project setup

From: https://speakerdeck.com/asm89/docker

Usual setup

Now

Docker Toolbox

Folder structure

  docker-rails/
  ├── app/
      ├── ...
  ├── bin/
  ├── config/
  ├── db/
  ├── Dockerfile
  ├── docker-compose.yml
  ├── Gemfile
  └── config.ru

Docker setup files

db:
  image: postgres:9.5.0
  volumes:
    - .:/tmp/data/
web:
  build: .
  command: bundle exec rails s -p 3000 -b '0.0.0.0
  volumes:
    - .:/code
  ports:
    - "3000:3000"
  links:
    - db

# Django server

# Share this folder 

# Get Postgres image

docker-compose.yml

FROM ruby:2.3.1
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs

RUN mkdir /app
WORKDIR /app

ADD Gemfile /app/Gemfile
ADD Gemfile.lock /app/Gemfile.lock

RUN bundle install
ADD . /app

# FROM: Get image from docker index

# RUN: Run commands inside container

Dockerfile

# Build project
docker-compose build

Compose commands

# Run project
docker-compose up

Demo

PabloVallejo/docker-django

Questions

Thanks!

Rails Docker

By pablovallejo

Rails Docker

How to setup Django projects using Docker

  • 1,844