DRYな備忘録

Don't Repeat Yourself.

docker-composeでEC2にデプロイしたい

問題

  • EC2上でdocker containerを立てて運用するようなサービス
  • の、デプロイをdocker-composeでやりたい

tl;dr

すべてここに書いてあった。docker-machineのdriverをamazonec2としてcreateすれば、あとはいつものdocker-composeの通り

docker-machine create

% docker-machine create --driver amazonec2 \
--amazonec2-region ap-northeast-1 \
--amazonec2-vpc-id vpc-123abc \ 
--amazonec2-security-group sg-my-servers \
my-service-machine

こうなる

% docker-machine ls
NAME                  ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER    ERRORS
my-service-machine    *        amazonec2    Running   tcp://54.250.123.123:2376           v1.10.3

docker-compose up

% docker-machine env my-service-machine
% eval $(docker-machine env my-service-machine)
% docker-compose up

立った。おしまい。

エラー: Unable to verify the Docker daemon is listening

なんかエラー出たので似たようなissueに質問してみた。

Error creating machine: Error running provisioning: Unable to verify the Docker daemon is listening: Maximum number of retries (5) exceeded · Issue #2533 · docker/machine · GitHub

AMIを指定したほうがいいみたいなアドバイスもあったんだけど、結局自己解決(理由がわからんのが気持ち悪いが)してしまった。

DRY