Aws-cli: قم بتوفير صورة AWS CLI Docker الرسمية

تم إنشاؤها على ٢٦ أبريل ٢٠١٨  ·  28تعليقات  ·  مصدر: aws/aws-cli

لقد فوجئت عندما اكتشفت أنه لا توجد صورة Docker رسمية للتطوير باستخدام AWS CLI. مستخدم "amazon" على Docker Hub يحتوي فقط على هذه الصور للعمل على وجه التحديد مع ECS و Elastic Beanstalk ، ولا يبدو أن هناك أي صور رسمية من Amazon Docker على Docker Store الجديد حتى الآن.

عندما بحثت عن "aws cli" على Docker Hub ، كانت الصورة الأكثر شيوعًا (مع أكثر من مليون تنزيل) هي تلك التي أنشأها Mesosphere. إنه جيد بما فيه الكفاية ، مع Dockerfile بسيط للغاية يعتمد على صورة Alpine Linux فائقة الصغر. بعد مزيد من التحقيق ، وجدت الريبو aws-codebuild-docker-images في هذه المؤسسة ، مع ملف Dockerfile ubuntu-base . هذه الصورة تبدو رائعة ، فلماذا لم يتم دفعها إلى Docker Hub / Store؟ لهذه المسألة ، لماذا لم يتم دفع أي من الصور في هذا الريبو؟ ستعمل صورة Mesosphere aws-cli بشكل جيد ، لكن بساطتها مقارنة بتلك ubuntu-base جعلتني أشعر بالقلق من عدم تحسينها بشكل صحيح ؛ وبالمثل ، فإن الصورة ubuntu-base مبنية على Ubuntu 14.04.5 ، وهي قديمة وكبيرة الحجم مقارنة بنظام Alpine Linux.

TL ؛
أعتقد أنه يجب أن تكون هناك صورة Docker رسمية aws-cli تحتفظ بها أمازون ويتم دفعها إلى Docker Hub / Store. من الناحية المثالية ، يجب أن تدعم جميع توزيعات Linux الحديثة الرئيسية ، بما في ذلك Alpine Linux. يجب أن يكون المرء قادرًا على تشغيل الأمر التالي ، وأن يعمل كل شيء فقط:

docker run -it amazon/aws-cli

تعديل

يتم الآن تعقب هذه المشكلة على 3553 #. يجب أن يعجبك ذلك لإظهار دعمك وترك التعليقات في هذا الموضوع. تم إغلاق هذا العدد.

duplicate guidance service-api

التعليق الأكثر فائدة

كما أنها ذات قيمة في بيئات CI / CD المرسومة (مثل خط أنابيب Jenkins). بدلاً من تثبيت aws-cli على كل بناء ، من الأسهل استخدام صورة Docker التي يمكن تخزينها مؤقتًا.

ال 28 كومينتر

تلك الصور التي ترتبط بها مملوكة لفريق CodeBuild لاستخدامها في خدمتهم. إذا كنت تريدهم أن ينشروها على docker hub ، فإنني أوصي بالاتصال بهم في منتدى خدمتهم / عبر الدعم.

بشكل عام ، لست متأكدًا من القيمة الموجودة في وجود صورة عامل إرساء تمثل CLI فقط. يمكنني رؤية قيمة شيء يصعب / معقد تثبيته وتشغيل mvp ، لكن CLI ليس معقدًا: تثبيت python ، تثبيت pip ، تثبيت cli. تحتوي معظم التوزيعات على حزمة مسبقة الصنع (على الرغم من أنك تخاطر بأن تكون قديمة).

تُعد صورة AWS CLI Docker مفيدة في سيناريوهات نشر Kubernetes.

كما أنها ذات قيمة في بيئات CI / CD المرسومة (مثل خط أنابيب Jenkins). بدلاً من تثبيت aws-cli على كل بناء ، من الأسهل استخدام صورة Docker التي يمكن تخزينها مؤقتًا.

نعم ، لقد نسيت تمامًا أنني فتحت هذه المشكلة ...

أدرك أنه قد يبدو تافهًا إنشاء صورة Docker لكل برنامج CLI صغير موجود ، لأن apt get ing من Dockerfile يجب أن يكون كافيًا لأي مستخدم عاقل للتشغيل. الهدف هو إزالة الخطوات الإضافية. نعم ، يمكنني إنشاء Dockerfile FROM لصورة Debian الأساسية ، apt get Python ، ثم الحصول على جميع الأدوات الأخرى التي أحتاجها والتي تعتمد على Python ... أو يمكنني فقط بدء FROM صورة Python ولديها شيء أقل لتنزيله ، وهو عائق أقل لاستخدام Python ، خاصة بالنسبة للسيناريوهات التي ذكرها xplorld وalexandrusavin. لم أقم بإثارة هذه المشكلة كثيرًا لأن هذا يمثل عقبة رهيبة لم أتمكن من التغلب عليها بدون مساعدة أمازون ، ولكن لأنها بدت وكأنها "لماذا لا" تافهة بالنسبة لشركة أمازون لتنفيذها وإضافة بعض القيمة إلى AWS-and-Docker - استخدام العملاء.

هذا مفيد أيضًا لأولئك الذين يريدون فقط التحقق من صحة قوالب المعلومات السحابية في خط أنابيب CI

سيكون مفيدًا أيضًا للتنمية المحلية ومواكبة أحدث إصدارات CLI. لقد تأخر العديد من المطورين لفترة أطول من اللازم في الحصول على الإصدار الصحيح من Python ، والإصدار الصحيح من النقطة ، ثم الإصدار الصحيح من 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 فقط. يمكنني رؤية قيمة شيء يصعب / معقد تثبيته وتشغيل mvp ، لكن CLI ليس معقدًا: تثبيت python ، تثبيت pip ، تثبيت cli.

لا أصدق ، هذا تعليق من موظف AWS. إنه أمر محزن في الواقع.

أنا في سيناريو مشابه حيث أرغب في تشغيل K8S Cronjob الذي يقوم بإجراء نسخ احتياطية على S3 ، والحصول على صورة رسمية أوسكلي _ بالتأكيد سيكون في متناول يدي الآن_

نحن نستخدم المشكلة رقم 3553 لتتبع طلب الميزة لهذا الطلب.

تلك الصور التي ترتبط بها مملوكة لفريق CodeBuild لاستخدامها في خدمتهم. إذا كنت تريدهم أن ينشروها على docker hub ، فإنني أوصي بالاتصال بهم في منتدى خدمتهم / عبر الدعم.

بشكل عام ، لست متأكدًا من القيمة الموجودة في وجود صورة عامل إرساء تمثل CLI فقط. يمكنني رؤية قيمة شيء يصعب / معقد تثبيته وتشغيل mvp ، لكن CLI ليس معقدًا: تثبيت python ، تثبيت pip ، تثبيت cli. تحتوي معظم التوزيعات على حزمة مسبقة الصنع (على الرغم من أنك تخاطر بأن تكون قديمة).

أنا شخصياً أقوم بتجميع أكبر قدر ممكن من الحاويات للمساعدة في الحفاظ على محطة العمل الخاصة بي نظيفة من الحزم المتعددة. الحزم التي قد تتعارض في يوم من الأيام مع غيرها عند تحديثها.

مرحبًا أهل جيثب

من المهم أيضًا ملاحظة أنه عند استخدام أي نظام CI / CD يقوم بفوترة مدة مهمة النشر (على سبيل المثال ، xx.xx دولارًا لكل ساعة في الشهر وما إلى ذلك) ، فلا يمكنك حينها قضاء الوقت في التثبيت مرارًا وتكرارًا مرة أخرى الأدوات التي تحتاجها بعد سحب صورة لا تحتوي على كل ما تحتاجه.

في حالتي ، أرى صورة بيثون يتم سحبها ، ثم يتم تثبيت حزمة zip ، والآن أحتاج إلى تثبيت awscli وهذا يستغرق وقتًا طويلاً للتثبيت. إنه ببساطة وقت ضائع يمكننا الاستغناء عنه.

سيكون الحصول على صورة عامل إرساء مع جميع الأدوات المثبتة مسبقًا لا تقدر بثمن.

توجد الآن صورة عامل إرساء تم إنشاؤها تلقائيًا على كل إصدار من إصدار awscli هنا

⚠️ إخلاء المسئولية: أنا المؤلف

شكرا b4nst. لكنني اخترت واحدًا تم إنشاؤه وصيانته بواسطة Atlassian لخط أنابيب Bitbucket. إنه موجود على DockerHub كـ atlassian / pipelines-awscli (https://hub.docker.com/r/atlassian/pipelines-awscli). وأنا أستخدم هذا مع خطوط الأنابيب الخاصة بهم.

@ b4nst يرجى ربط Docker hub repo بـ github الخاص بك حتى نتمكن من رؤية كود المصدر

كان هناك بالفعل ارتباط إلى صفحة محور عامل الإرساء . الرمز مستضاف هنا

يتمثل العامل الرئيسي هنا في أنه عندما يستخدم الأشخاص CI / CD ، ويتعاملون مع الرموز الحساسة التي تعد جزءًا من برنامج الشركة ، فإنهم يميلون إلى معرفة من وماذا يتعامل مع التعليمات البرمجية الخاصة بهم. لذلك ، حتى مع النوايا الحسنة ، يميل الناس إلى الحذر عندما يتعلق الأمر بشيء لم تعيده شركة كبيرة ما لم يروا شفرة المصدر. أنا شخصياً أعتقد أنه لا حرج في صورة عامل ميناء @ b4nst . راجعت الكود ولا بأس. لقد حدث فقط أن الشخص من Atlassian يحتوي على عدد قليل من الأشياء التي نحتاجها أثناء عمليات النشر الخاصة بنا. على سبيل المثال ، لديها git ، أقل من بين أشياء أخرى. بهذه الطريقة ، يمكن للصورة نفسها أن تسمح لنا باستنساخ الأشياء من أي مستودع git.

أتفق تمامًا مع ذلك ، فإن أفضل حل هو شحن AWS لصورة عامل الإرساء المحدثة الخاصة بها (إذا كنت تثق بهم بالنسبة إلى cli ، فأنت تثق بهم للحصول على الصورة). لكن في غضون ذلك ، أعتقد أن المصدر المفتوح هو أهون الشرين. حتى لو كانت مدعومة من قبل شركة كبيرة ، فقد تتعرض للتلف (لن أثق في Microsoft أو Google للحصول على صوت إذا لم أتمكن من قراءة الكود ...)

لقد صنعت مخبزًا للصور مع النشر المستمر إلى Dockerhub abdennour / aws .

إحدى الصور هي صورة AWS .

إذا كنت ترغب في الترقية إلى أحدث الإصدارات ، فما عليك سوى تحديث .env وفتح العلاقات العامة.

حتى صور AWS الخاصة بـ amazonlinux والتي تنص في الوثائق على أن amazonlinux بها cli مثبتًا بشكل افتراضي ... لا تفعل ذلك.

أمازون هو احتكار وهم يعرفون ذلك. ليس لديهم لرعاية؟

+1

انتهى بي الأمر هنا أثناء البحث عن واحدة ووجدت صورة رسمية بعد ذلك ، لذلك سألتصق بها هنا لأي شخص يجد هذا الموضوع في المستقبل.

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

Xaeonn صحيح ، هذه هي صورة AWS CLI Docker الرسمية الجديدة. أعلن أحد مطوري Amazon عن هذا الليلة الماضية في # 3553 ، حيث يتم الآن تتبع هذه المشكلة ، كما علقت أعلاه.

تثبيت python ، تثبيت pip ، تثبيت cli.

ثم قم بتشغيل aws واحصل على command not found . بسيط جدا.

: ابتسم:: يضحك:: يضحك: كلاسيكي: 100: ، يجعل يومي دائمًا

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات