0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Fargateのイメージの更新で旧版をそれなりにする

Posted at

環境

Fargateで下記を動かしている

  • payara(TALON)
  • mysql

ECRに登録しているコンテナイメージを更新する際、ローカルのコンテナを更新してからECRにプッシュしている。久しぶりだとドレに対して更新をかけるのか等、フリーズしてしまうのでメモ。

方針

ECRにpushしているイメージの更新運用で下記が考慮点

  • payaraで動いている静的コンテンツ(ライセンスファイルなど)書き換え時の運用
  • payaraで動いている動的コンテンツ更新時の運用
  • mysqlはデータ部分を共有ボリュームにして、mysql自体のバージョンアップ以外はイメージ更新なしの運用

2番目のは基本的に無い(TALONでは動的コンテンツをDBで管理しているため)と理解しているので現時点では除外して考える。
3番目のは1番目と同じ運用にできるように考える。

payara静的ファイルを書き換えする際の運用

こんな感じがスタート地点。ほかのコンテナ消しているのでシンプルに見えるが実際は亜流のコンテナがたくさんある。
$ docker ps -a
CONTAINER ID   IMAGE           COMMAND                   CREATED       STATUS                      PORTS                                                                                            NAMES
02f78bf3ec8b   talon20241112   "/bin/sh -c '/bin/sh…"   4 weeks ago   Exited (255) 17 hours ago   0.0.0.0:4848->4848/tcp, :::4848->4848/tcp, 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp, 6900/tcp   talon_latest
77cc95c7effc   talon:test      "/bin/sh -c '/usr/lo…"   5 weeks ago   Exited (137) 4 weeks ago                                                                                                     talon20241108

$ docker images
REPOSITORY                                                           TAG           IMAGE ID       CREATED        SIZE
123456789012.dkr.ecr.ap-northeast-1.amazonaws.com/prod/talon         latest        d9a9949764bf   4 weeks ago    990MB
talon                                                                20241112      d9a9949764bf   4 weeks ago    990MB

旧版に対して更新をかける運用にする。
※更新後版は20241217で旧版は20241112
エントリポイントなどは更新なし(指定なしでコンテナ起動)の前提。

docker run -d --name=talon20241217 -p 8080:8080 -p 4848:4848 talon:20241112

して旧版コンテナをtalon20241217で起動し、このコンテナに対してファイル更新をかける。
更新後コミット
※ローカルとFargateでDBの接続文字列違うので更新忘れずに。allowPublicKeyRetrievalも。
※イメージファイルサイズ縮小等は別の方法で考える必要あり

docker commit talon20241217 talon:20241217

タグ付け

docker tag talon:20241217 123456789012.dkr.ecr.ap-northeast-1.amazonaws.com/prod/talon:latest

ECRプッシュ。latestだけECRに置く運用とする。

docker push 123456789012.dkr.ecr.ap-northeast-1.amazonaws.com/prod/talon:latest

まとめ

この運用だとECRでは最新版のみの管理でシンプルだし、コスト最小化もできそう。
ローカルdockerでの旧版履歴は下記のようになる予定で、なんとなくいい感じ。
改善点はいっぱいありそうだけど、いったんは満足。

上記運用実施後のdocker imagesコマンド出力結果(イメージ)
REPOSITORY                                                           TAG           IMAGE ID       CREATED        SIZE
talon                                                                20241227      d9a9XXXXXXXX   1 day ago      990MB
123456789012.dkr.ecr.ap-northeast-1.amazonaws.com/prod/talon         latest        d9a9XXXXXXXX   1 day ago      990MB
talon                                                                20241112      d9a9949764bf   4 weeks ago    990MB
talon                                                                20241001      YYYYYYYYYYYY   2 Months ago   990MB
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?