AWS ECS/ECRをいじってみる day6
awscliからリポジトリを作って消す.
基本的にはこちらの
- step 3
- step 7
をやるぞぃ.
リポジトリを作る
$ aws ecr create-repository --region us-east-2 --repository-name ubuntu { "repository": { "repositoryArn": "arn:aws:ecr:us-east-2:XXXXXX:repository/ubuntu", "registryId": "XXXXXX", "repositoryName": "ubuntu", "repositoryUri": "XXXXXX.dkr.ecr.us-east-2.amazonaws.com/ubuntu", "createdAt": YYYYYYY } }
でけた.
ブラウザからも一応見てみると、ちゃんと追加されている.
簡単ですね.
リポジトリを消す
$ aws ecr delete-repository --region us-east-2 --repository-name ubuntu --force │ { "repository": { "repositoryArn": "arn:aws:ecr:us-east-2:XXXXXX:repository/ubuntu", "registryId": "XXXXXX", "repositoryName": "ubuntu", "repositoryUri": "XXXXXX.dkr.ecr.us-east-2.amazonaws.com/ubuntu", "createdAt": YYYYYY } }
これで綺麗さっぱり消える.
–forceオプションはリポジトリにイメージが存在しても強制的にリポジトリを消滅させるので、
分かった上で使わないとね.
この辺りは特にハマることなく終了.
day6とかになってきたし、ちょうどキリが良いので、来週からはお題を変えよう.
AWS ECS/ECRをいじってみる day5
公式のExampleのDockerfileを手元でビルドしておいて、imageをECRにpushするぞ.
docker imagesのbuild
昨日のdocker loginコマンドで出てくる名前を使って、image自体にtag付けする必要があるっぽい.
一応アカウントIDとregionを組み合わせた名前のようだ.
$ docker build -t XXXXXXX.dkr.ecr.us-east-2.amazonaws.com/amazon-ecs-sample .
ちゃんとビルドされたか一応見てみると
$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE XXXXXXX.dkr.ecr.us-east-2.amazonaws.com/amazon-ecs-sample latest 48ff9f3a8dd0 24 hours ago 227MB ubuntu 12.04 5b117edd0b76 4 months ago 104MB
となっており、ちゃんとイメージはできてる.
(ローカルだけど)
ECRにpush
ログイン認証は12時間以内なので再度実施.
(やらないとToken has expiredと怒られた.)
$(aws ecr get-login --region us-east-2 --no-include-email) Login Succeeded $ docker push XXX.dkr.ecr.us-east-2.amazonaws.com/amazon-ecs-sample:latest name unknown: The repository with name 'amazon-ecs-sample' does not exist in the registry with id 'XXX'
あれれー
aws consoleのリポジトリ設定でimageのtagをちゃんと合わせてないとダメなのね…
というわけで再度リポジトリ設定.
リポジトリ名をビルドしたdocker imageに合わせてamazon-ecs-sampleと設定して、push
$ docker push XXX.dkr.ecr.us-east-2.amazonaws.com/amazon-ecs-sample:latest
お、ちゃんとpushされてlayerごとにuploadされている様子が見れたー.
ブラウザのECRのページからもリポジトリにimageがpushされていることが確認できたぞぃ.
次何するかと↓を眺めてると、リポジトリもawscliで作ってることに気づく… docs.aws.amazon.com
ブラウザからGUIベースでやってしまった!!
明日はawscliからのリポジトリ作成・削除をやろう…
AWS ECS/ECRをいじってみる day4
アホの一つ覚えのように入れてしまったbrewでのawscliは悪さすると嫌なのでuninstall.
$ brew uninstall awscli
普通にanacondaでawscliは入れているのでpipで入る場所を確認したら /anaconda/bin/ にawsがいるっぽい.
うーん、~/.bash_profileを見ると、pathは通してあるぞ?
ここで、もう一度、 .bash_profileを実行し直す必要があることに気づく.
$ source ~/.bash_profile
再度awsにpathが通っているか見ると…
$ aws --version aws-cli/1.11.130 Python/3.6.1 Darwin/15.2.0 botocore/1.5.93
上手くいったみたい、超初歩的ミスでした…
これで昨日上手くいかなかったやつをやってみると、、、
$ $(aws ecr get-login --region us-east-2 --no-include-email) Login Succeeded
よかったよかった. なお、やはり –no-include-email は必要な模様.