LoginSignup
0
0

More than 3 years have passed since last update.

Fargate PV 1.4.0 では空文字のコマンド引数が無視されるから気を付けた方がいい

Last updated at Posted at 2021-03-01

tl; dr

  • Fargate プラットフォームバージョン 1.4.0 では、コンテナで実行するコマンドの引数に空文字を渡すと無視される。
  • Fargate プラットフォームバージョン 1.4.0 を使用する限り、この挙動は回避できない模様。
  • 現時点で引数に空文字を使うには Fargate プラットフォームバージョン 1.3.0 を利用するしかない模様。

検証

Dockerfile

FROM alpine:3.13.2
RUN echo 'echo "\$0(script_name): $0"; \
    echo "\$1(first_args): $1"; \
    echo "\$2(second_args): $2"; \
    echo "\$3(third_args): $3"; \
    echo "\$4(4th_args): $4"; \
    echo "\$5(5th_args): $5"; \
    echo "\$#(number_of_args): $#"; \
    echo "\"\$*\": \"$*\""; \
    echo "\"\$@\": \"$@\""' > /args_test.sh
CMD ["/bin/sh", "/args_test.sh", "first", "", "third", "", "5th"]

Fargate PV 1.3.0 での実行結果

image.png

Fargate PV 1.4.0 での実行結果

image.png

どうすべきか

  • LATEST が 1.4.0 に変更されるにあたって、検証を行う際はネットワーク周りの確認だけでなく、コンテナの最終的な実行結果まで確認を行った方が良さそう。
  • その確認が難しいようであれば、現時点では 1.3.0 に固定するのが無難そう。
  • また、タスク定義やタスク実行時の CMD 上書きでも再現するため、動的に引数を設定している様なタスクでは、さらに検証で注意が必要である。
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