Aws-cli: Berikan Gambar Docker AWS CLI Resmi

Dibuat pada 26 Apr 2018  ·  28Komentar  ·  Sumber: aws/aws-cli

Saya terkejut menemukan bahwa tidak ada image Docker resmi untuk pengembangan dengan AWS CLI. Pengguna "amazon" di Docker Hub hanya berisi gambar - gambar ini untuk bekerja secara khusus dengan ECS dan Elastic Beanstalk, dan tampaknya belum ada gambar Amazon Docker resmi di Docker Store baru.

Ketika saya mencari "aws cli" di Docker Hub, gambar paling populer (dengan 1M+ unduhan) adalah gambar ini , yang dibuat oleh Mesosphere. Ini cukup bagus, dengan Dockerfile yang sangat sederhana berdasarkan image Alpine Linux yang sangat kecil. Setelah penyelidikan lebih lanjut, saya menemukan aws-codebuild-docker-images repo di organisasi ini, dengan ubuntu-base Dockerfile. Gambar ini tampak hebat, jadi mengapa belum didorong ke Docker Hub/Store? Dalam hal ini, mengapa tidak ada gambar dalam repo itu yang didorong? Gambar aws-cli Mesosphere akan bekerja dengan baik, tetapi kesederhanaannya dibandingkan dengan ubuntu-base membuat saya khawatir bahwa itu belum dioptimalkan dengan benar; demikian pula, gambar ubuntu-base didasarkan pada Ubuntu 14.04.5, yang lebih tua dan besar dibandingkan dengan Alpine Linux.

TL;
Saya percaya harus ada gambar Docker aws-cli resmi yang dikelola oleh Amazon dan didorong ke Docker Hub/Store. Idealnya, itu harus mendukung semua distro Linux modern utama, termasuk Alpine Linux. Seseorang harus dapat menjalankan perintah berikut, dan semuanya berfungsi:

docker run -it amazon/aws-cli

EDIT

Masalah ini sekarang sedang dilacak di #3553. Anda harus menyukai yang itu untuk menunjukkan dukungan Anda dan meninggalkan komentar di utas itu. Masalah ini ditutup.

duplicate guidance service-api

Komentar yang paling membantu

Ini juga berharga di lingkungan CI/CD yang di-docker (seperti pipa Jenkins). Daripada menginstal aws-cli di setiap build, lebih mudah menggunakan image Docker yang dapat di-cache.

Semua 28 komentar

Gambar-gambar yang Anda tautkan dimiliki oleh tim CodeBuild untuk digunakan dalam layanan mereka. Jika Anda ingin mereka mempublikasikannya ke hub buruh pelabuhan, saya sarankan untuk menghubungi mereka di forum layanan mereka/melalui dukungan.

Secara umum saya tidak yakin apa nilainya memiliki gambar buruh pelabuhan yang hanya CLI. Saya dapat melihat nilai untuk sesuatu yang sulit/rumit untuk diinstal dan menjalankan mvp, tetapi CLI tidak terlalu rumit: instal python, instal pip, instal cli. Sebagian besar distro bahkan memiliki paket bawaan (meskipun Anda berisiko ketinggalan zaman).

Gambar AWS CLI Docker berguna dalam skenario penerapan Kubernetes.

Ini juga berharga di lingkungan CI/CD yang di-docker (seperti pipa Jenkins). Daripada menginstal aws-cli di setiap build, lebih mudah menggunakan image Docker yang dapat di-cache.

Ya wow saya agak benar-benar lupa bahwa saya membuka masalah ini ...

Saya menyadari bahwa mungkin tampak sepele untuk membuat gambar Docker untuk setiap program CLI kecil di luar sana, karena apt get ing dari Dockerfile seharusnya cukup untuk setiap pengguna yang masuk akal untuk bangun dan berjalan. Intinya adalah untuk menghapus langkah-langkah tambahan. Ya saya bisa membuat Dockerfile FROM gambar dasar debian, apt get Python, dan kemudian mendapatkan semua alat lain yang saya butuhkan yang bergantung pada Python...atau saya bisa memulai FROM gambar Python dan memiliki satu hal yang lebih sedikit untuk diunduh, satu penghalang lebih sedikit untuk menggunakan Python, terutama untuk skenario yang disebutkan oleh @xplorld dan @alexandrusavin. Saya tidak terlalu mengangkat masalah ini karena ini adalah penghalang jalan yang mengerikan yang tidak dapat saya atasi tanpa bantuan Amazon, tetapi karena sepertinya "mengapa tidak" sepele bagi Amazon untuk menerapkan dan menambahkan beberapa nilai untuk AWS-dan-Docker mereka. -menggunakan pelanggan.

Ini juga berguna bagi mereka yang hanya ingin memvalidasi template cloudformation dalam pipeline CI

Ini juga akan berguna untuk pengembangan lokal dan mengikuti versi terbaru dari CLI. Kami memiliki beberapa pengembang yang tertunda lebih lama dari yang diperlukan untuk mendapatkan versi python yang tepat, versi pip yang tepat, dan kemudian versi CLI yang tepat. Mampu menjalankan docker run --rm awscli:latest ... akan sangat berguna.

Semua, Masalah ini sekarang sedang dilacak di #3553. Anda harus menyukai yang itu untuk menunjukkan dukungan Anda dan meninggalkan komentar di utas itu. Masalah ini ditutup.

Docker akan berguna.

Pasti gambar Docker resmi akan berguna

instal python, instal pip, instal cli.

Kemudian jalankan aws dan dapatkan command not found . Sangat sederhana.

Untuk saat ini saya menggunakan Dockerfile seperti di repo ini :

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

Ini adalah hal yang sepele untuk dilakukan, tetapi akan lebih baik untuk memiliki gambar resmi dari aws-cli .

Secara umum saya tidak yakin apa nilainya memiliki gambar buruh pelabuhan yang hanya CLI. Saya dapat melihat nilai untuk sesuatu yang sulit/rumit untuk diinstal dan menjalankan mvp, tetapi CLI tidak terlalu rumit: instal python, instal pip, instal cli.

Saya tidak percaya, ini adalah komentar dari karyawan AWS. Ini sebenarnya menyedihkan.

Saya berada dalam skenario serupa di mana saya ingin menjalankan K8S Cronjob yang melakukan pencadangan ke S3, memiliki gambar awscli resmi _pasti akan berguna saat ini_

Kami menggunakan masalah #3553 untuk melacak permintaan fitur untuk permintaan ini.

Gambar-gambar yang Anda tautkan dimiliki oleh tim CodeBuild untuk digunakan dalam layanan mereka. Jika Anda ingin mereka mempublikasikannya ke hub buruh pelabuhan, saya sarankan untuk menghubungi mereka di forum layanan mereka/melalui dukungan.

Secara umum saya tidak yakin apa nilainya memiliki gambar buruh pelabuhan yang hanya CLI. Saya dapat melihat nilai untuk sesuatu yang sulit/rumit untuk diinstal dan menjalankan mvp, tetapi CLI tidak terlalu rumit: instal python, instal pip, instal cli. Sebagian besar distro bahkan memiliki paket bawaan (meskipun Anda berisiko ketinggalan zaman).

Secara pribadi saya menyimpan sebanyak yang saya bisa untuk membantu menjaga workstation saya bersih dari beberapa paket. Paket yang suatu hari mungkin bertentangan dengan yang lain saat diperbarui.

Halo Warga Github

Penting juga untuk dicatat bahwa ketika Anda menggunakan sistem CI/CD yang menagih durasi tugas penerapan Anda (misalnya $xx.xx per jam per bulan, dll.), maka Anda tidak dapat menghabiskan waktu untuk menginstal berulang kali lagi alat yang Anda butuhkan setelah menarik gambar yang tidak memiliki semua yang Anda butuhkan.

Dalam kasus saya, saya melihat gambar python ditarik, lalu paket Zip diinstal, dan sekarang saya perlu menginstal awscli dan yang membutuhkan waktu cukup lama untuk diinstal. Ini hanya membuang-buang waktu yang bisa kita lakukan tanpanya.

Memiliki gambar buruh pelabuhan dengan semua alat pra-instal akan sangat berharga.

Sekarang ada gambar buruh pelabuhan yang dibuat secara otomatis pada setiap rilis awscli di sini

️ Penafian: Saya penulisnya

Terima kasih b4nst. Tapi saya telah memilih satu yang dibangun dan dikelola oleh Atlassian untuk Bitbucket Pipeline. Itu ada di DockerHub sebagai atlassian/pipelines-awscli (https://hub.docker.com/r/atlassian/pipelines-awscli). Dan saya menggunakan ini dengan saluran pipa mereka.

@b4nst tolong tautkan docker hub repo dengan github Anda sehingga kami dapat melihat kode sumbernya

Sudah ada tautan ke halaman hub buruh pelabuhan . Kode di-host di sini

Gajah di ruangan ini adalah ketika orang menggunakan CI/CD, dan menangani kode sensitif yang merupakan bagian dari perangkat lunak perusahaan, mereka cenderung ingin tahu siapa dan apa yang menangani kode mereka. Jadi bahkan dengan niat baik, orang cenderung waspada ketika datang ke sesuatu yang tidak kembali oleh perusahaan besar kecuali mereka melihat kode sumbernya. Saya pribadi berpikir bahwa tidak ada yang salah dengan gambar buruh pelabuhan @b4nst . Saya memeriksa kode dan itu baik-baik saja. Kebetulan yang dari Atlassian memiliki beberapa hal lagi di dalamnya yang diperlukan selama proses penerapan kami. Misalnya, ia memiliki git, kurang antara lain. Dengan begitu, gambar yang sama memungkinkan kita mengkloning barang dari repositori git mana pun.

Sangat setuju dengan itu, solusi terbaik adalah AWS mengirimkan gambar buruh pelabuhannya sendiri yang terbaru (jika Anda memercayai mereka untuk cli, Anda memercayai mereka untuk gambar). Tapi sementara itu, saya pikir open source adalah kejahatan yang lebih rendah. Bahkan jika didukung oleh perusahaan besar, itu bisa rusak (saya tidak akan mempercayai Microsoft atau Google untuk awscli jika saya tidak dapat membaca kodenya ...)

Saya membuat toko roti gambar dengan Deployment berkelanjutan ke Dockerhub abdennour/aws .

Salah satu gambar adalah gambar AWS .

Jika Anda ingin mengupgrade ke versi terbaru, Anda hanya perlu mengupdate .env dan membuka PR.

Bahkan gambar AWS untuk amazonlinux yang menyatakan dalam dokumentasi bahwa amazonlinux telah menginstal cli secara default... tidak.

Amazon adalah monopoli dan mereka tahu itu. Mereka tidak perlu peduli?

+1

Saya berakhir di sini saat mencari satu dan menemukan gambar resmi setelahnya, jadi saya akan menempelkannya di sini untuk siapa saja yang menemukan utas ini di masa mendatang.

https://hub.docker.com/r/amazon/aws-cli

@Xaeonn Benar, itu adalah gambar Docker AWS CLI resmi baru. Pengembang Amazon baru saja mengumumkan ini tadi malam di #3553, di mana masalah ini sekarang sedang dilacak, seperti yang saya komentari di atas.

instal python, instal pip, instal cli.

Kemudian jalankan aws dan dapatkan command not found . Sangat sederhana.

:senyum: :laughing: :laughing: classic :100: , selalu membuat hariku menyenangkan

Apakah halaman ini membantu?
0 / 5 - 0 peringkat