docker composeで開発環境をメンバに配布せよ

23
Docker Compose @kon_yu

Upload: yusuke-kon

Post on 17-Jan-2017

1.628 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Docker composeで開発環境をメンバに配布せよ

Docker Compose

@kon_yu

Page 2: Docker composeで開発環境をメンバに配布せよ
Page 3: Docker composeで開発環境をメンバに配布せよ

[PR]Best Teacher

Page 4: Docker composeで開発環境をメンバに配布せよ

Best Teacher

Page 5: Docker composeで開発環境をメンバに配布せよ

Best Teacher

2.

1. Writing

3. Skype

Page 6: Docker composeで開発環境をメンバに配布せよ
Page 7: Docker composeで開発環境をメンバに配布せよ

Rails

• DB SQLite3 -> bundle install

• Ruby

• native extention(nokogiri )

Page 8: Docker composeで開発環境をメンバに配布せよ

• PostgteSQL Redis

• •

Page 9: Docker composeで開発環境をメンバに配布せよ

Docker

Docker

Docker for mac Docker for window

VirtualBox

->

Page 10: Docker composeで開発環境をメンバに配布せよ

Docker

Rails

docker-compse.yml

Docker Compose

Page 11: Docker composeで開発環境をメンバに配布せよ

• Mac

•DBMS PostgreSQL

•Redis

•Memcached

•Elasticsearch ( )

Page 12: Docker composeで開発環境をメンバに配布せよ

Rails!"" Docker# !"" elasticsearch# #   %"" Dockerfile #kuromoji image# %"" rails# %"" Dockerfile #rails!"" build_docker_container.sh #!"" docker-compose.yml #Docker Compose!"" Gemfile #gem!"" Gemfile.lock #gem!"" package.js #!"" Rails

Page 13: Docker composeで開発環境をメンバに配布せよ

docker-compose.yml

Page 14: Docker composeで開発環境をメンバに配布せよ

version: '2'services: postgres: image: postgres:9.5.4 # localhost:5432 ports: - 5432:5432 memcached: image: memcached:1.4.31 elasticsearch:

#Docker Offical ES image kuromoji

image: es_1.7.5 redis: image: redis:3.0.7 …

Page 15: Docker composeで開発環境をメンバに配布せよ

version: ‘2'…services: rails: build: context: . dockerfile: Docker/rails/Dockerfile tty: true ports: - 3000:3000 # localhost:3000 environment: # ELASTICSEARCH_URL: http://elasticsearch:9200 ELASTICSEARCH_TEST_URL: http://elasticsearch:9300 volumes: # : - ./:/usr/src/app links:# rails

#database.yml host postgres Postgres - postgres - memcached - elasticsearch - redis

Page 16: Docker composeで開発環境をメンバに配布せよ

Rails DockerfileFROM ruby:2.3.1 #Ruby

# gitRUN apt-get update

#vimRUN apt-get install -y git emacs24-nox vim

# WorkspaceRUN mkdir -p /usr/src/appWORKDIR /usr/src/app

Page 17: Docker composeで開発環境をメンバに配布せよ

…# RailsRUN apt-get install -y libsqlite3-devRUN gem install bundler

# Dockerfile bundle install# Gemfile Gemfile.lockCOPY Gemfile /usr/src/app/COPY Gemfile.lock /usr/src/app/

# Gemfile github: "activeadmin"RUN bundle config git.allow_insecure true RUN bundle install --jobs 4

# RUN curl -sL https://deb.nodesource.com/setup_6.x | bash -RUN apt-get install -y nodejs

RUN npm installRUN apt-get clean

Page 18: Docker composeで開発環境をメンバに配布せよ

DBMakefile

Makefile docker npm install db

# Docker Step1build_dockers:

docker build -t es_1.7.5 -f Docker/elasticsearch/Dockerfile .docker-compose up

# Docker Step2dev_env_init:

docker-compose exec rails npm installdocker-compose exec rails bundle exec rake db:resetdocker-compose exec rails bundle exec rake db:seed_fu

———

make build_dockersmake dev_env_init

Page 19: Docker composeで開発環境をメンバに配布せよ

PC

Docker rails(docker-pomose.ymal ) bash> docker-compose exec rails bash# Rails root@xxxx:# bin/rails server #root@xxxx:# bin/rspec#jsroot@xxxx:# npm run watch

Page 20: Docker composeで開発環境をメンバに配布せよ

bundle install --path vendor/bundle Rails server

)https://forums.docker.com/t/file-access-in-mounted-volumes-extremely-slow-cpu-bound/8076

memcached redis elasticsearch postgres rails

2GB

4GB

seed

busybox

Page 21: Docker composeで開発環境をメンバに配布せよ

• Docker Compose

• / •

• Docker

Page 22: Docker composeで開発環境をメンバに配布せよ

Best Teacher

2.

1. Writing

3. Skype

Page 23: Docker composeで開発環境をメンバに配布せよ

Rails