AWSCLIで開発するための公式のDockerイメージがないことに驚きました。 Docker Hubの「amazon」ユーザーには、ECSとElastic Beanstalkを特に操作するためのこれらのイメージのみが含まれており、新しいDockerストアにはまだ公式のAmazonDockerイメージがないようです。
Docker Hubで「awscli」を検索したとき、最も人気のあるイメージ(100万回以上のダウンロード)は、Mesosphereによって作成されたこのイメージでした。 非常に小さなAlpineLinuxイメージに基づく非常に単純なDockerfileを使用すれば、十分です。 さらに調査したところ、この組織でubuntu-base
Dockerfileを使用したaws-codebuild-docker-images
リポジトリが見つかりました。 この画像は見栄えが良いのに、なぜDocker Hub / Storeにプッシュされなかったのですか? さらに言えば、そのリポジトリ内のどの画像もプッシュされていないのはなぜですか? Mesosphere aws-cli
イメージは正常に機能しますが、そのubuntu-base
と比較して単純であるため、適切に最適化されていないことが心配でした。 同様に、 ubuntu-base
イメージはUbuntu 14.04.5に基づいています。これは、AlpineLinuxに比べて古くてかさばります。
TL;
Amazonによって維持されDockerHub / Storeにプッシュされる公式のaws-cli
Dockerイメージがあるはずです。 理想的には、AlpineLinuxを含むすべての主要な最新のLinuxディストリビューションをサポートする必要があります。 次のコマンドを実行でき、すべてが正常に機能するはずです。
docker run -it amazon/aws-cli
この問題は現在#3553で追跡されています。 あなたはあなたのサポートを示し、そのスレッドにコメントを残すためにそれを好むべきです。 この号は終了しました。
リンク先の画像は、サービスで使用するためにCodeBuildチームが所有しています。 それらをdockerhubに公開する場合は、サービスフォーラム/サポート経由で連絡することをお勧めします。
一般に、CLIのみのDockerイメージを持つことにどのような価値があるのかわかりません。 インストールしてmvpを実行するのが難しい/複雑なものの値を確認できますが、CLIはそれほど複雑ではありません:pythonのインストール、pipのインストール、cliのインストール。 ほとんどのディストリビューションには、ビルド済みのパッケージさえあります(ただし、古くなるリスクがあります)。
AWS CLI Dockerイメージは、Kubernetesのデプロイシナリオで役立ちます。
また、CI / CDドッキング環境(Jenkinsパイプラインなど)でも役立ちます。 すべてのビルドにaws-cliをインストールする代わりに、キャッシュ可能なDockerイメージを使用する方が簡単です。
うん、すごい、この号を開いたことをすっかり忘れてしまった...
Dockerfileからのapt get
は、賢明なユーザーが立ち上がって実行するのに十分なはずなので、そこにあるすべての小さなCLIプログラム用にDockerイメージを作成するのは簡単に思えるかもしれません。 重要なのは、追加の手順を削除することです。 はい、Dockerfile FROM
ベースのDebianイメージapt get
Pythonを作成してから、Pythonに依存する他のすべてのツールを入手できます...またはFROM
を開始することもできます@xplorldと@alexandrusavinで言及されているシナリオでは、Pythonを使用する際の障壁が1つ少なくなります。 これはAmazonの助けがなければ克服できないひどい障害であるため、この問題をあまり提起しませんでしたが、AmazonがAWS-and-Dockerに実装して価値を追加するのは、些細な「理由」のように思えたためです。 -顧客を使用します。
これは、CIパイプラインでクラウドフォーメーションテンプレートを検証したいだけの人にも便利です
また、ローカル開発やCLIの最新バージョンについていくのにも役立ちます。 適切なバージョンのpython、適切なバージョンのpip、そして適切なバージョンのCLIを取得するために、いくつかの開発者が必要以上に遅延することがありました。 docker run --rm awscli:latest ...
を実行できると非常に便利です。
すべて、この問題は現在#3553で追跡されています。 あなたはあなたのサポートを示し、そのスレッドにコメントを残すためにそれを好むべきです。 この号は終了しました。
Dockerが役立ちます。
間違いなく公式のDockerイメージが役立ちます
pythonをインストールし、pipをインストールし、cliをインストールします。
次に、 aws
を実行して、$# command not found
#$を取得します。 とてもシンプルです。
今のところ、私はこのリポジトリのようにDockerfileを使用しています:
FROM python:alpine
ARG CLI_VERSION=1.16.86
RUN apk -uv add --no-cache groff jq less && \
pip install --no-cache-dir awscli==$CLI_VERSION
WORKDIR /aws
CMD sh
些細なことですが、 aws-cli
の公式イメージを持っている方が間違いなく良いでしょう。
一般に、CLIのみのDockerイメージを持つことにどのような価値があるのかわかりません。 インストールしてmvpを実行するのが難しい/複雑なものの値を確認できますが、CLIはそれほど複雑ではありません:pythonのインストール、pipのインストール、cliのインストール。
信じられませんが、これはAWSの従業員からのコメントです。 実は悲しいです。
私は、S3へのバックアップを実行するK8S Cronjobを実行したいという同様のシナリオにあり、公式のawscliイメージを持っていることは_今のところ便利です_
問題#3553を使用して、このリクエストの機能リクエストを追跡しています。
リンク先の画像は、サービスで使用するためにCodeBuildチームが所有しています。 Docker Hubに公開してほしい場合は、サービスフォーラム/サポート経由で連絡することをお勧めします。
一般に、CLIのみのDockerイメージを持つことにどのような価値があるのかわかりません。 インストールしてmvpを実行するのが難しい/複雑なものの値を確認できますが、CLIはそれほど複雑ではありません:pythonのインストール、pipのインストール、cliのインストール。 ほとんどのディストリビューションには、ビルド済みのパッケージさえあります(ただし、古くなるリスクがあります)。
個人的には、ワークステーションから複数のパッケージをクリーンに保つために、できる限りコンテナを使用しています。 いつか更新されたときに他のパッケージと矛盾する可能性があるパッケージ。
Githubの皆さんこんにちは
展開タスクの期間(たとえば、1時間あたり1か月あたり$ xx.xxなど)を請求するCI / CDシステムを使用している場合は、インストールに時間を費やす余裕がないことにも注意してください。必要なものがすべて揃っていない画像をプルした後に必要なツールもあります。
私の場合、Pythonイメージがプルされ、次にzipパッケージがインストールされているのがわかります。ここで、awscliをインストールする必要があり、インストールにはかなりの時間がかかります。 それは、私たちがなくてもできる無駄な時間です。
すべてのツールがプリインストールされたDockerイメージを持つことは貴重です。
ここに、awscliのリリースごとに自動的に構築されたDockerイメージがあります。
⚠️免責事項:私は著者です
b4nstに感謝します。 しかし、私はBitbucketPipeline用にAtlassianによって構築および保守されているものを選びました。 これは、DockerHubにatlassian / pipelines-awscli(https://hub.docker.com/r/atlassian/pipelines-awscli)としてあります。 そして、私はこれを彼らのパイプラインで使用しています。
@ b4nst Docker Hubリポジトリをgithubにリンクして、ソースコードを確認できるようにしてください
Dockerハブページへのリンクはすでにありました。 コードはここでホストされています
ここの部屋の象は、人々がCI / CDを使用していて、企業ソフトウェアの一部である機密コードを処理しているとき、誰が、何がコードを処理しているのかを知りたがる傾向があるということです。 そのため、善意があっても、ソースコードが表示されない限り、大企業から返還されないものについては慎重になる傾向があります。 個人的には、 @ b4nstのdockerイメージに問題はないと思います。 コードを確認しましたが、問題ありません。 たまたま、Atlassianのものには、展開プロセス中に必要なものがいくつか含まれています。 たとえば、gitがあり、とりわけ少ないです。 そうすれば、同じイメージで任意のgitリポジトリからクローンを作成できます。
完全に同意します。最善の解決策は、AWSが独自の最新のDockerイメージを出荷することです(CLIで信頼できる場合は、イメージで信頼します)。 しかしその間、オープンソースはそれほど悪ではないと思います。 大企業に支えられていても、破損している可能性があります(コードが読めない場合は、MicrosoftやGoogleのawscliを信用しません...)
Dockerhub abdennour / awsへの継続的デプロイでイメージのベーカリーを作成しました。
イメージの1つはAWSイメージです。
最新バージョンにアップグレードする場合は、 .envを更新してPRを開くだけです。
ドキュメントにamazonlinuxにはデフォルトでCLIがインストールされていると記載されているamazonlinuxのAWSイメージでさえ...そうではありません。
アマゾンは独占であり、彼らはそれを知っています。 彼らは気にする必要はありませんか?
+1
探してここにたどり着き、その後公式画像を見つけたので、今後このスレッドを見つけた人のためにここに貼り付けておきます。
@Xaeonn正解です。これは、新しい公式のAWS CLIDockerイメージです。 私が上でコメントしたように、Amazonの開発者は昨夜#3553でこの問題を追跡しているところを発表しました。
pythonをインストールし、pipをインストールし、cliをインストールします。
次に、
aws
を実行して、$#command not found
#$を取得します。 とてもシンプルです。
:smile :: laughing :: laughing:classic:100 :、いつも私の一日を作る
最も参考になるコメント
また、CI / CDドッキング環境(Jenkinsパイプラインなど)でも役立ちます。 すべてのビルドにaws-cliをインストールする代わりに、キャッシュ可能なDockerイメージを使用する方が簡単です。