heroku dockerの使い所

24
Heroku Docker @kon_yu

Upload: yusuke-kon

Post on 20-Mar-2017

271 views

Category:

Software


2 download

TRANSCRIPT

Page 1: Heroku Dockerの使い所

Heroku Docker@kon_yu

Page 2: Heroku Dockerの使い所
Page 3: Heroku Dockerの使い所
Page 4: Heroku Dockerの使い所

Docker

Page 5: Heroku Dockerの使い所

Docker

Page 6: Heroku Dockerの使い所

Docker

Page 7: Heroku Dockerの使い所

Docker

( )

Page 8: Heroku Dockerの使い所

Heroku Docker

Page 10: Heroku Dockerの使い所

Heroku Docker

Docker Heroku

Container Registry and Runtime(https://devcenter.heroku.com/articles/container-registry-and-runtime)

Page 11: Heroku Dockerの使い所

Docker Hub

• Dockerhub• Docker• /•

• Dockerhub• DockerImage DockerHub http://qiita.com/kon_yu/items/7c40f4dfbd1cce006ce7

Page 12: Heroku Dockerの使い所

Buildpack

• Heroku• (Ruby Node

• Buildpack Heroku

• Buildpack• Buildpack API https://devcenter.heroku.com/articles/buildpack-api

• Buildpack• Using Multiple Buildpacks for an apphttps://devcenter.heroku.com/articles/using-multiple-buildpacks-for-an-app

Page 13: Heroku Dockerの使い所

Docker Buildpack

Page 14: Heroku Dockerの使い所

Docker• Ruby on Rails

• Production Staging

• Production Heroku Postgres Staging

• DB

• AWS S3 Puroduction Staging

• Elasticsearch

Page 15: Heroku Dockerの使い所

Docker

HerokuCLI PostgreSQL • HerokuCLI Ruby • HerokuCLI

AWS CLI S3

• AWS CLI Python

• AWS CLI

Page 16: Heroku Dockerの使い所

Docker

Github https://github.com/konyu/heroku-aws-backup

Docker hub https://hub.docker.com/r/konyu/heroku-aws-backup/

Page 17: Heroku Dockerの使い所

AWS Heroku API

AWS Heroku API

URL

AWS access key and secret key http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSGettingStartedGuide/AWSCredentials.html

Heroku api token https://devcenter.heroku.com/articles/authentication#api-token-storage

Page 18: Heroku Dockerの使い所

[email protected]:konyu/heroku-aws-backup.git cd heroku-aws-backup docker build --rm -t heroku-aws-backup .

Page 19: Heroku Dockerの使い所

--env AWS Heroku

docker run -it --rm --env AWS_ACCESS_KEY_ID=xxxxxxx \ --env AWS_SECRET_ACCESS_KEY=xxxxxxxxxxxxxxxxxxxx \ --env AWS_DEFAULT_REGION=ap-northeast-1 \ --env HEROKU_API_KEY=xxxxxxxxxxxxx \ heroku-aws-backup bash

Page 20: Heroku Dockerの使い所

echo "== worker =="heroku ps:scale worker=0 -a APP_NAME

echo "== DB =="heroku pg:copy ProductionAPP::HEROKU_POSTGRESQL_COLOR_URL HEROKU_POSTGRESQL_COLOR_URL --confirm APP_NAME -a APP_NAME

echo "== Rails job =="heroku run rake jobs:clear -a APP_NAME

echo "== =="heroku run rake sync:mask_user_info -a APP_NAME

echo "== elasticsearch =="heroku run rake sync:backup_elasticsearch -a APP_NAME

echo "== s3 =="aws s3 sync --delete --acl public-read s3:/FROM_BUCKET s3://TO_BUCKET

echo "== Worker =="heroku ps:scale worker=1 -a APP_NAME

Page 21: Heroku Dockerの使い所

Heroku

Heroku cliHeroku CLI URL OS

https://devcenter.heroku.com/articles/heroku-command-line

Heroku container registry

heroku plugins:install heroku-container-registry

Page 22: Heroku Dockerの使い所

HerokuHeroku

heroku login> enter your id and password

Create application( )> heroku create APP_NAME_YOU_WANT

Modify application( )> git remote heroku

heroku git:remote -a APP_NAME_YOU_WANT

Heroku> heroku container:push web

Page 23: Heroku Dockerの使い所

Heroku

heroku config:set AWS_ACCESS_KEY_ID=xxxxxxx AWS_SECRET_ACCESS_KEY=xxxxxxxxxxxxxx AWS_DEFAULT_REGION=ap-northeast-1 HEROKU_API_KEY=xxxxx -app APP_NAME_YOU_WANT

Scheduler

heroku addons:create scheduler:standard -app APP_NAME_YOU_WANT

Scheduler

heroku run bash -a APP_NAME

Page 24: Heroku Dockerの使い所

• Docker Heroku • • • Heroku

• Heroku Buildpack

Heroku

• Docker

Heroku