毎回DockerfileをGithubから取ってきてbuildしてrunするのはやっぱりイケけてないのでAWSのコンテナレジストリことECRを使ってみます。
マネジメントコンソールからECRのページに行き、[リポジトリの作成]を押します。
リポジトリ名は***.amazonaws.com/<名前空間>/<リポジトリ名>みたいな感じでつけれます。名前空間はなくても大丈夫なようです。

リポジトリを作成できたら、イメージをpushするためにアカウント認証を行いましょう。awsコマンドはbrew install awscliなどでインストールします。認証をしていない場合はaws configureをしてください。
以下のコマンドでdocker loginできます
$(aws ecr get-login --no-include-email --region ap-northeast-1)
外側をかこっている$()をつけないとただdocker loginのコマンドが表示されるだけなので必ずつけて実行しましょう。リージョンはECRのリポジトリを作ったとこにします。
適当なDockerfileを用意し、ECRのリポジトリにタグをつけてdocker buildを行います。
cd <path-to-dockerfile>/
docker build -t ***.amazonaws.com/garicchi/test-1 ./
docker pushを行います。
docker push ***.amazonaws.com/garicchi/test-1
無事pushできました。

せっかくなのでpullしてみます。
docker pull ****.amazonaws.com/garicchi/test-1
無事pullできました。
docker build時やpush時に長いリポジトリ名を書かなきゃなのは辛いですが普通に簡単に使うことができました。
docker-composeではどうやってpullするのか気になったので調べてみると、aws ecr docker-loginをちゃんとしておくとあとはdocker-composeのimage:タグにレジストリのURLつきでイメージ名を書くと、pullしてくれるようです。
AWS ECR と docker-compose – Qiita https://qiita.com/iwai/items/ec4103890b983039163b