Skip to content

Instantly share code, notes, and snippets.

@masuidrive

masuidrive/docker.md Secret

Last active Jun 1, 2016
Embed
What would you like to do?
トレタ社内勉強会 "Dockerの上でRailsアプリを動かす ハンズオン" セットアップ資料

先に実行

前もって下のコマンドも実行しておいてください。

mkdir sample1
cd sample1
curl https://gist.githubusercontent.com/masuidrive/3f8707336ffb286ad212/raw/b9d5b05c7e4664385e0027e9a370bd9009972543/docker_rails.sh | RAILS_VERSION=4.2.6 RUBY_VERSION=2.3 sh

本日の資料はダウンロードしておいてください

https://dl.dropboxusercontent.com/u/261845/docker-handson.pdf

p.7

docker run -it ubuntu:14.04 /bin/bash
 ps aux
 touch /abc123
docker run -it ubuntu:14.04 /bin/bash
 ls  /
docker ps

p.11

docker run -it --rm ruby:2.3.0 /bin/bash

p.12

Dockerfile

FROM ubuntu:14.04
RUN apt-get update
RUN apt-get install -y apache2
CMD [ "/usr/sbin/apache2ctl", "-D", "FOREGROUND" ]

p.21

docker-compose up -d
docker-compose run rails /bin/bash
 rails g scaffold item key:string value:text
 rake db:create db:migrate
http://192.168.99.100:3000/items
docker-compose stop

p.24

$(aws ecr get-login --region us-east-1)
docker build -t sample1 .
docker tag sample1:latest 123456.dkr.ecr.us-east-1.amazonaws.com/sample1:latest
docker push 123456.dkr.ecr.us-east-1.amazonaws.com/sample1:latest

p.27

http://docs.aws.amazon.com/AmazonECS/latest/developerguide/instance_IAM_role.html

p.38

DISABLE_SPRING がないと、database.yml内でENVが読み込めなくて謎現象が起こります orz

RAILS_ENV: production
APP_DATABASE_PASSWORD: xxxxx
MYSQL_HOST: xxxxx
SECRET_KEY_BASE: 123456
DISABLE_SPRING: 1

社外の方はお使いのOSをコメントに書いていただけますか? 特にWindowsは分からないので全員Macだと助かるんですが・・・

トレタ社内勉強会 "Dockerの上でRailsアプリを動かす ハンズオン"に参加される方は、下記のようにしてVirtualBoxとDocker Toolsをインストールし、必要なイメージをダウンロードしておいてください。

Dockerは最新版の機能を使うため、既にインストールしている場合にも必ず下記からインストールしてください。

VirtualBoxをインストール

Docker Toolsをインストール

必要なイメージを先にダウンロードしておく

  • インストールされた "Docker QuickStart Termial" を起動
  • 下記のコマンドを実行して、イメージをダウンロードします
docker pull ruby:2.3.0 && docker pull mysql:5.6 && docker pull redis:3.0 && docker pull ubuntu:14.04
  • ダウンロードされたか確認は下記のコマンドで行えます。
docker images | grep redis
  • 正しくダウンロードされている場合は、下記のように表示されるはずです。表示されない場合はコメントください。
redis    3.0    0ffxxxxxxxx   ? weeks ago    ???.? MB

AWSアカウント

当日は、Amazon ECSにdeployするために、AWSのアカウントを作成しておいてください

AWS CLIをインストール

OSXの場合は、下記のようにしてインストールできます。

sudo easy_install pip
sudo -H pip install awscli --upgrade --ignore-installed six

参考) http://qiita.com/szk3/items/758201285ec01d5283ac

Linuxは、https://github.com/aws/aws-cli を参考にAWS CLIをインストールしてください。

新し目の機能を使うので、すでにインストールされている方はアップグレードしてください。

AWS CLIの設定

下記のコマンドを実行して、AWS CLIの初期設定を行ってください。

ACCESS KEYなどはPolicy: AmazonEC2ContainerRegistryFullAccessがattachされたものを使ってください。

次のセクションにユーザの作り方を書いておきました。分からない方はこちらを参照してください。

「Default region name」は ap-northeast-1 でお願いします。

aws configure

続いて下記のように実行して、エラーがでなければ成功です。

aws ecr describe-repositories --region us-east-1

AmazonEC2ContainerRegistryFullAccess のついたユーザを作る

1. AWS Web console

2. IAMページを開く

3. ユーザ作成ページ

4. ユーザ名

"ecstest1" と入力して、Createを押す

5. access keyを取得

ここのAccess keyとSecret Keyをaws configureで入力するので、コピペしておいてください。

あと"Download"もしておいた方が無難です。

6. ポリシー

ポリシー画面へ遷移して、"AmazonEC2ContainerRegistryFullAccess"を開く

7. attach画面へ遷移

8. 作ったユーザへattach

これで出来上がり

@teyosh

This comment has been minimized.

Copy link

@teyosh teyosh commented Apr 8, 2016

docker quick terminalでitermがエラーで出た場合

iTerm でエラーが起きました:《class Cssn》 of 《class Ctrm》 のタイプを reference に変換できません。

terminalで

eval $(docker-machine env default)

を実行

@oharato

This comment has been minimized.

Copy link

@oharato oharato commented Apr 10, 2016

社外参加者のoharatoです。Mac OS Xを使っています。

@sters

This comment has been minimized.

Copy link

@sters sters commented Apr 11, 2016

社外参加者のstersです。Windows10を使っています。。。
dockerとaws-cli周りでつまりそうな予感がしています。。後ほどこちらの内容を試しておきます!

@sters

This comment has been minimized.

Copy link

@sters sters commented Apr 12, 2016

windows10の者です。下準備、dockerコマンドとaws-cli準備できました。
下準備のdocker_rails.shやdocker-compose、mingw関係で詰まりましたが、boot2dockerにsshしたりぽちぽちしたら出来るようになったみたいです。
ハンズオンの場でもつまるかもしれませんが、頑張りますのでよろしくお願いします。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment