Docker
101
What it's?
or...
Does that make?
Docker "enables true independence between applications and infrastructure and developers".
docker engine
image
application
container
Dockerfile
FROM ruby:2.4.2
RUN apt-get update
RUN gem install bundler
ENV HOME=/home/project
RUN mkdir -p $HOME
ADD . $HOME
WORKDIR $HOME
RUN bundle install
Dockerfile
FROM ruby:2.4.2
RUN apt-get update
RUN gem install bundler
ENV HOME=/home/project
RUN mkdir -p $HOME
ADD . $HOME
WORKDIR $HOME
RUN bundle install
image to use
Dockerfile
FROM ruby:2.4.2
RUN apt-get update
RUN gem install bundler
ENV HOME=/home/project
RUN mkdir -p $HOME
ADD . $HOME
WORKDIR $HOME
RUN bundle install
execute a command
Dockerfile
FROM ruby:2.4.2
RUN apt-get update
RUN gem install bundler
ENV HOME=/home/project
RUN mkdir -p $HOME
ADD . $HOME
WORKDIR $HOME
RUN bundle install
set an environment variable
Dockerfile
FROM ruby:2.4.2
RUN apt-get update
RUN gem install bundler
ENV HOME=/home/project
RUN mkdir -p $HOME
ADD . $HOME
WORKDIR $HOME
RUN bundle install
add/copy to guest
Dockerfile
FROM ruby:2.4.2
RUN apt-get update
RUN gem install bundler
ENV HOME=/home/project
RUN mkdir -p $HOME
ADD . $HOME
WORKDIR $HOME
RUN bundle install
set the workdir
docker-compose.yaml
version: '2'
services:
name_of_service:
image: name_of_image
container_name: name_of_container
build: .
volumes:
- .:/home/project
- bundle:/usr/local/bundle
command: bash -c "rspec"
volumes:
bundle:
driver: local
Docker101
By Raül Martínez i Peris
Docker101
A introduction for beginners in docker and docker-compose
- 233