📝

ECS のハンズオンにおける注意点

2022/07/16に公開

AWS Hands-on for Beginners Amazon Elastic Container Service 入門 コンテナイメージを作って動かしてみよう をやってみたのですが、動画内の手順ではうまくいかない部分があったので、解決策も含めて紹介します。

環境

・OS: Windows 10 Home
・ブラウザ: Google Chrome 最新バージョン
上記以外の、Cloud9 のインスタンスタイプなどは動画の手順と同様のものを選択しています。

注意点 Dockerfile の記載を変更する必要がある

以下の手順において、ハンズオン資料の PDF から Dockerfile の内容をコピペすると、docker build の際にエラーが発生しました。

対象手順:03 コンテナイメージを作成して動かす その1
対象動画時点:8:55 ~
PDF ページ: p.34

下記の Dockerfile の内容が記載されています

Dockerfile
FROM ubuntu:18.04
# Install dependencies
RUN apt-get update && ¥
apt-get -y install apache2
# Install apache and write hello world message
RUN echo 'Hello World!' > /var/www/html/index.html
# Configure apache
RUN echo '. /etc/apache2/envvars' > /root/run_apache.sh && ¥
echo 'mkdir -p /var/run/apache2' >> /root/run_apache.sh && ¥
echo 'mkdir -p /var/lock/apache2' >> /root/run_apache.sh && ¥
echo '/usr/sbin/apache2 -D FOREGROUND' >> /root/run_apache.sh && ¥
chmod 755 /root/run_apache.sh
EXPOSE 80
CMD /root/run_apache.sh

上記内容をそのまま使用し、docker build を実行したところ、以下のエラーが発生しました

$ docker build -t hello-world .
Sending build context to Docker daemon  9.755MB
Error response from daemon: dockerfile parse error line 4: unknown instruction: APT-GET

エラーの原因は単純で、¥ が不正なコマンドのためです。
解決策も簡単で、¥\ に置換するだけです。

正しいコマンドについては、資材の html ファイルからコピペしてくると良いと思います。

気になった点

以下の手順において、ECR プッシュコマンドを使用していない点が気になりました。

対象手順:05 コンテナイメージを、ECR にアップロードする
対象動画時点:6:29 ~

ECR リポジトリ作成後、以下のようなプッシュコマンドが表示されます。

動画内ではこのプッシュコマンドを使用していませんでした。
もちろんタグ付けで latest を使用しないためなどの理由があるかとは思いますが、プッシュコマンドを表示できるという点には触れてもよかったのではないかと思いました。

個人的にはいつも ECR のプッシュコマンドをコピペしているので、その方が楽だということもあります。

まとめ

今回は ECS のハンズオンにおける注意点と解決策を紹介しました。
冒頭にも記載しましたが、ハンズオンの内容はアップデートされる可能性がありますのでご注意ください。

現時点での参考になれば幸いです。

参考資料

Discussion