Fargate | EC2の管理不要 |
タスク | コンテナ1つに対応する。タスク定義とタスクはクラスとインスタンスの関係。タスク定義を更新すると別のタスクが立ち上がり入れ替わる |
サービス | タスクが幾つ必要かとかALBと紐づけるとか。 |
クラスタ | EC2の塊、Fargateだと意識することはない。 |
CMD | Docker起動時に実施するCMD。起動時に指定するものと同じものが定義できると考えるべし。docker exec -it xxx /bin/bashの/bin/bashの部分だ |
ENTRYPOINT | Docker起動時に実施するコマンドではCMDと一緒だが、上書き不可能だったりもできる。ENTRYPOINTを指定したときは、runの後の記述は起動するプロセスを特定する指示としては機能しない |
aws ecs list-task-definitions | タスク定義の一覧 |
aws ecs describe-task-definition --task-definition test-mysql:2 | タスク定義の詳細。このままではRegisterできない。 |
aws ecs describe-task-definition --task-definition test-mysql:2 | jq '.taskDefinition | del(.status, .compatibilities, .taskDefinitionArn, .requiresAttributes, .revision) '
https://dev.classmethod.jp/articles/describe-task-definition-to-register-task-definition/
固定で与えるものなので、docker run -it xxx 'コマンド'が実行時にentrypointに加わる
/bin/bash -c | docker run it xxx 'ls' | ls |
/usr/bin/git | docker run it xxx 'log' | git log |
Docker runで何も指定しなかったときの実行コマンド。またはentrypointでのデフォルト引数。
EntryPoint設定値 | CMD設定値 | docker runコマンド | 実際のコマンド |
なし | ls | docker run -it xxx | ls |
/bin/bash -c | ls | docker run -it xxx | ls |
起動したPublic IPの確認。タスクから詳細(タスク定義ではない!)
https://dev.classmethod.jp/articles/ecs-local/
https://dev.classmethod.jp/articles/aws-devday-2019-fargate-deploy/