Menjalankan gambar Amazon ECR Public atau Docker resmi untuk AWS CLI - AWS Command Line Interface

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menjalankan gambar Amazon ECR Public atau Docker resmi untuk AWS CLI

Topik ini menjelaskan cara menjalankan, mengontrol versi, dan mengonfigurasi AWS CLI versi 2 di Docker menggunakan image resmi Amazon Elastic Container Registry Public (Amazon ECR Public) atau Docker Hub. Untuk informasi selengkapnya tentang cara menggunakan Docker, lihat dokumentasi Docker.

Gambar resmi menyediakan isolasi, portabilitas, dan keamanan yang AWS secara langsung mendukung dan memelihara. Ini memungkinkan Anda untuk menggunakan AWS CLI versi 2 di lingkungan berbasis kontainer tanpa harus mengelola instalasi sendiri.

Prasyarat

Anda harus menginstal Docker. Untuk petunjuk penginstalan, lihat situs web Docker.

Untuk memverifikasi instalasi Docker Anda, jalankan perintah berikut dan konfirmasikan ada output.

$ docker --version Docker version 19.03.1

Memutuskan antara Amazon ECR Public dan Docker Hub

Sebaiknya gunakan Amazon ECR Public melalui Docker Hub untuk AWS CLI gambar. Docker Hub memiliki pembatasan tarif yang lebih ketat untuk konsumen publik yang dapat menyebabkan masalah pelambatan. Selain itu, Amazon ECR Public mereplikasi gambar di lebih dari satu wilayah untuk memberikan ketersediaan yang kuat dan menangani masalah pemadaman wilayah.

Untuk informasi selengkapnya tentang pembatasan laju Docker Hub, lihat Memahami Pembatasan Tingkat Hub Docker di situs web Docker.

Jalankan gambar AWS CLI versi resmi 2

Pertama kali Anda menggunakan docker run perintah, gambar terbaru diunduh ke komputer Anda. Setiap penggunaan docker run perintah selanjutnya berjalan dari salinan lokal Anda.

Untuk menjalankan gambar Docker AWS CLI versi 2, gunakan docker run perintah.

Amazon ECR Public

Gambar ECR Publik Amazon AWS CLI versi resmi 2 di-host di Amazon ECR Public di aws-cli/aws-clirepositori.

$ docker run --rm -it public.ecr.aws/aws-cli/aws-cli command
Docker Hub

Gambar Docker AWS CLI versi 2 resmi di-host di Docker Hub di repositori. amazon/aws-cli

$ docker run --rm -it amazon/aws-cli command

Beginilah fungsi perintah:

  • docker run --rm -it repository/name— Setara dengan yang dapat aws dieksekusi. Setiap kali Anda menjalankan perintah ini, Docker memutar wadah gambar yang Anda unduh, dan menjalankan perintah Andaaws. Secara default, gambar menggunakan versi terbaru dari AWS CLI versi 2.

    Misalnya, untuk memanggil aws --version perintah di Docker, Anda menjalankan yang berikut ini.

    Amazon ECR Public
    $ docker run --rm -it public.ecr.aws/aws-cli/aws-cli --version aws-cli/2.17.20 Python/3.7.3 Linux/4.9.184-linuxkit botocore/2.4.5dev10
    Docker Hub
    $ docker run --rm -it amazon/aws-cli --version aws-cli/2.17.20 Python/3.7.3 Linux/4.9.184-linuxkit botocore/2.4.5dev10
  • --rm- Menentukan untuk membersihkan wadah setelah perintah keluar.

  • -it— Menentukan untuk membuka pseudo- TTY dengan. stdin Ini memungkinkan Anda untuk memberikan masukan ke AWS CLI versi 2 saat berjalan dalam wadah, misalnya, dengan menggunakan aws help perintah aws configure and. Saat memilih apakah akan dihilangkan-it, pertimbangkan hal berikut:

    • Jika Anda menjalankan skrip, tidak -it diperlukan.

    • Jika Anda mengalami kesalahan dengan skrip Anda, menghilangkan -it panggilan Docker Anda mungkin memperbaiki masalah.

    • Jika Anda mencoba menyalurkan output, -it dapat menyebabkan kesalahan dan menghilangkan -it panggilan Docker Anda dapat menyelesaikan masalah ini. Jika Anda ingin menyimpan -it flag, tetapi masih ingin menyalurkan output, menonaktifkan pager sisi klien yang AWS CLI digunakan secara default akan menyelesaikan masalah.

Untuk informasi selengkapnya tentang docker run perintah, lihat panduan referensi Docker.

Catatan tentang antarmuka dan kompatibilitas mundur dari gambar resmi

  • Satu-satunya alat yang didukung pada gambar adalah AWS CLI. Hanya aws executable yang harus langsung dijalankan. Misalnya, meskipun less dan groff secara eksplisit diinstal pada gambar, mereka tidak boleh dieksekusi langsung di luar AWS CLI perintah.

  • Direktori /aws kerja dikendalikan pengguna. Gambar tidak akan menulis ke direktori ini, kecuali diinstruksikan oleh pengguna dalam menjalankan AWS CLI perintah.

  • Tidak ada jaminan kompatibilitas mundur dalam mengandalkan tag terbaru. Untuk menjamin kompatibilitas mundur, Anda harus menyematkan ke <major.minor.patch> tag tertentu karena tag tersebut tidak dapat diubah; mereka hanya akan didorong satu kali.

Gunakan versi dan tag tertentu

Gambar resmi AWS CLI versi 2 memiliki beberapa versi yang dapat Anda gunakan, dimulai dengan versi2.0.6. Untuk menjalankan versi tertentu dari AWS CLI versi 2, tambahkan tag yang sesuai ke docker run perintah Anda. Pertama kali Anda menggunakan docker run perintah dengan tag, gambar terbaru untuk tag itu diunduh ke komputer Anda. Setiap penggunaan docker run perintah berikutnya dengan tag tersebut berjalan dari salinan lokal Anda.

Anda dapat menggunakan dua jenis tag:

  • latest— Mendefinisikan versi terbaru dari AWS CLI versi 2 untuk gambar. Kami menyarankan Anda menggunakan latest tag ketika Anda menginginkan versi terbaru dari AWS CLI versi 2. Namun, tidak ada jaminan kompatibilitas mundur saat mengandalkan tag ini. latestTag digunakan secara default dalam docker run perintah. Untuk menggunakan tag secara eksplisit, tambahkan latest tag ke nama gambar kontainer.

    Amazon ECR Public
    $ docker run --rm -it public.ecr.aws/aws-cli/aws-cli:latest command
    Docker Hub
    $ docker run --rm -it amazon/aws-cli:latest command
  • <major.minor.patch>— Mendefinisikan versi tertentu dari AWS CLI versi 2 untuk gambar. Jika Anda berencana untuk menggunakan gambar resmi dalam produksi, kami sarankan Anda menggunakan versi tertentu dari AWS CLI versi 2 untuk memastikan kompatibilitas mundur. Misalnya, untuk menjalankan versi2.0.6, tambahkan versi ke nama gambar kontainer.

    Amazon ECR Public
    $ docker run --rm -it public.ecr.aws/aws-cli/aws-cli:2.0.6 command
    Docker Hub
    $ docker run --rm -it amazon/aws-cli:2.0.6 command

Perbarui ke gambar resmi terbaru

Karena gambar terbaru diunduh ke komputer Anda hanya saat pertama kali Anda menggunakan docker run perintah, Anda perlu menarik gambar yang diperbarui secara manual. Untuk memperbarui secara manual ke versi terbaru, kami sarankan Anda menarik gambar yang latest ditandai. Menarik gambar mengunduh versi terbaru ke komputer Anda.

Amazon ECR Public
$ docker pull public.ecr.aws/aws-cli/aws-cli:latest
Docker Hub
$ docker pull amazon/aws-cli:latest

Bagikan file host, kredensi, variabel lingkungan, dan konfigurasi

Karena AWS CLI versi 2 dijalankan dalam wadah, secara default tidak CLI dapat mengakses sistem file host, yang mencakup konfigurasi dan kredensialnya. Untuk membagikan sistem file host, kredensial, dan konfigurasi ke wadah, pasang ~/.aws direktori sistem host ke wadah di /root/.aws dengan -v tanda ke perintah. docker run Ini memungkinkan AWS CLI versi 2 yang berjalan di wadah untuk menemukan informasi file host.

Amazon ECR Public

Linux dan macOS

$ docker run --rm -it -v ~/.aws:/root/.aws public.ecr.aws/aws-cli/aws-cli command

Prompt Perintah Windows

$ docker run --rm -it -v %userprofile%\.aws:/root/.aws public.ecr.aws/aws-cli/aws-cli command

Jendela PowerShell

C:\> docker run --rm -it -v $env:userprofile\.aws:/root/.aws public.ecr.aws/aws-cli/aws-cli command
Docker Hub

Linux dan macOS

$ docker run --rm -it -v ~/.aws:/root/.aws amazon/aws-cli command

Prompt Perintah Windows

$ docker run --rm -it -v %userprofile%\.aws:/root/.aws amazon/aws-cli command

Jendela PowerShell

C:\> docker run --rm -it -v $env:userprofile\.aws:/root/.aws amazon/aws-cli command

Untuk informasi selengkapnya tentang -v flag dan pemasangan, lihat panduan referensi Docker.

catatan

Untuk informasi tentang config dan credentials file, lihatKonfigurasi dan pengaturan file kredensi di AWS CLI.

Contoh 1: Menyediakan kredensil dan konfigurasi

Dalam contoh ini, kami menyediakan kredensi dan konfigurasi host saat menjalankan s3 ls perintah untuk mencantumkan bucket Anda di Amazon Simple Storage Service (Amazon S3). Contoh di bawah ini menggunakan lokasi default untuk AWS CLI kredensi dan file konfigurasi, untuk menggunakan lokasi yang berbeda, ubah jalur file.

Amazon ECR Public

Linux dan macOS

$ docker run --rm -it -v ~/.aws:/root/.aws public.ecr.aws/aws-cli/aws-cli s3 ls 2020-03-25 00:30:48 aws-cli-docker-demo

Prompt Perintah Windows

$ docker run --rm -it -v %userprofile%\.aws:/root/.aws public.ecr.aws/aws-cli/aws-cli s3 ls 2020-03-25 00:30:48 aws-cli-docker-demo

Jendela PowerShell

C:\> docker run --rm -it -v $env:userprofile\.aws:/root/.aws public.ecr.aws/aws-cli/aws-cli s3 ls
Docker Hub

Linux dan macOS

$ docker run --rm -it -v ~/.aws:/root/.aws amazon/aws-cli s3 ls 2020-03-25 00:30:48 aws-cli-docker-demo

Prompt Perintah Windows

$ docker run --rm -it -v %userprofile%\.aws:/root/.aws amazon/aws-cli s3 ls 2020-03-25 00:30:48 aws-cli-docker-demo

Jendela PowerShell

C:\> docker run --rm -it -v $env:userprofile\.aws:/root/.aws amazon/aws-cli s3 ls

Anda dapat memanggil variabel lingkungan sistem tertentu menggunakan -e bendera. Untuk menggunakan variabel lingkungan, panggil dengan nama.

Amazon ECR Public

Linux dan macOS

$ docker run --rm -it -v ~/.aws:/root/.aws -e ENVVAR_NAME public.ecr.aws/aws-cli/aws-cli s3 ls 2020-03-25 00:30:48 aws-cli-docker-demo

Prompt Perintah Windows

$ docker run --rm -it -v %userprofile%\.aws:/root/.aws -e ENVVAR_NAME public.ecr.aws/aws-cli/aws-cli s3 ls 2020-03-25 00:30:48 aws-cli-docker-demo

Jendela PowerShell

C:\> docker run --rm -it -v $env:userprofile\.aws:/root/.aws -e ENVVAR_NAME public.ecr.aws/aws-cli/aws-cli s3 ls
Docker Hub

Linux dan macOS

$ docker run --rm -it -v ~/.aws:/root/.aws -e ENVVAR_NAME amazon/aws-cli s3 ls 2020-03-25 00:30:48 aws-cli-docker-demo

Prompt Perintah Windows

$ docker run --rm -it -v %userprofile%\.aws:/root/.aws -e ENVVAR_NAME amazon/aws-cli s3 ls 2020-03-25 00:30:48 aws-cli-docker-demo

Jendela PowerShell

C:\> docker run --rm -it -v $env:userprofile\.aws:/root/.aws -e ENVVAR_NAME amazon/aws-cli s3 ls

Contoh 2: Mengunduh file Amazon S3 ke sistem host Anda

Untuk beberapa perintah AWS CLI versi 2, Anda dapat membaca file dari sistem host di wadah atau menulis file dari wadah ke sistem host.

Dalam contoh ini, kita men-download S3 objek s3://aws-cli-docker-demo/hello ke sistem file lokal Anda dengan memasang direktori kerja saat ini ke /aws direktori container. Dengan mengunduh hello objek ke /aws direktori kontainer, file disimpan ke direktori kerja sistem host saat ini juga.

Amazon ECR Public

Linux dan macOS

$ docker run --rm -it -v ~/.aws:/root/.aws -v $(pwd):/aws public.ecr.aws/aws-cli/aws-cli s3 cp s3://aws-cli-docker-demo/hello . download: s3://aws-cli-docker-demo/hello to ./hello

Prompt Perintah Windows

$ docker run --rm -it -v %userprofile%\.aws:/root/.aws -v %cd%:/aws public.ecr.aws/aws-cli/aws-cli s3 cp s3://aws-cli-docker-demo/hello . download: s3://aws-cli-docker-demo/hello to ./hello

Jendela PowerShell

C:\> docker run --rm -it -v $env:userprofile\.aws:/root/.aws -v $pwd\aws:/aws public.ecr.aws/aws-cli/aws-cli s3 cp s3://aws-cli-docker-demo/hello .
Docker Hub

Linux dan macOS

$ docker run --rm -it -v ~/.aws:/root/.aws -v $(pwd):/aws amazon/aws-cli s3 cp s3://aws-cli-docker-demo/hello . download: s3://aws-cli-docker-demo/hello to ./hello

Prompt Perintah Windows

$ docker run --rm -it -v %userprofile%\.aws:/root/.aws -v %cd%:/aws amazon/aws-cli s3 cp s3://aws-cli-docker-demo/hello . download: s3://aws-cli-docker-demo/hello to ./hello

Jendela PowerShell

C:\> docker run --rm -it -v $env:userprofile\.aws:/root/.aws -v $pwd\aws:/aws amazon/aws-cli s3 cp s3://aws-cli-docker-demo/hello .

Untuk mengonfirmasi file yang diunduh ada di sistem file lokal, jalankan yang berikut ini.

Linux dan macOS

$ cat hello Hello from Docker!

Jendela PowerShell

$ type hello Hello from Docker!

Contoh 3: Menggunakan variabel AWS_PROFILE lingkungan Anda

Anda dapat memanggil variabel lingkungan sistem tertentu menggunakan -e bendera. Panggil setiap variabel lingkungan yang ingin Anda gunakan. Dalam contoh ini, kami menyediakan kredensi host, konfigurasi, dan AWS_PROFILE variabel lingkungan saat menjalankan s3 ls perintah untuk mencantumkan bucket Anda di Amazon Simple Storage Service (Amazon S3).

Amazon ECR Public

Linux dan macOS

$ docker run --rm -it -v ~/.aws:/root/.aws -e AWS_PROFILE public.ecr.aws/aws-cli/aws-cli s3 ls 2020-03-25 00:30:48 aws-cli-docker-demo

Prompt Perintah Windows

$ docker run --rm -it -v %userprofile%\.aws:/root/.aws -e AWS_PROFILE public.ecr.aws/aws-cli/aws-cli s3 ls 2020-03-25 00:30:48 aws-cli-docker-demo

Jendela PowerShell

C:\> docker run --rm -it -v $env:userprofile\.aws:/root/.aws -e AWS_PROFILE public.ecr.aws/aws-cli/aws-cli s3 ls
Docker Hub

Linux dan macOS

$ docker run --rm -it -v ~/.aws:/root/.aws -e AWS_PROFILE amazon/aws-cli s3 ls 2020-03-25 00:30:48 aws-cli-docker-demo

Prompt Perintah Windows

$ docker run --rm -it -v %userprofile%\.aws:/root/.aws -e AWS_PROFILE amazon/aws-cli s3 ls 2020-03-25 00:30:48 aws-cli-docker-demo

Jendela PowerShell

C:\> docker run --rm -it -v $env:userprofile\.aws:/root/.aws -e AWS_PROFILE amazon/aws-cli s3 ls

Persingkat perintah docker run

Untuk mempersingkat docker run perintah, kami sarankan Anda menggunakan kemampuan sistem operasi Anda untuk membuat symbolic link(symlink) atau aliasdi Linux dan macOS, atau di Windows. doskey Untuk mengatur aws alias, Anda dapat menjalankan salah satu perintah berikut.

  • Untuk akses dasar ke aws perintah, jalankan yang berikut ini.

    Amazon ECR Public

    Linux dan macOS

    $ alias aws='docker run --rm -it public.ecr.aws/aws-cli/aws-cli'

    Prompt Perintah Windows

    C:\> doskey aws=docker run --rm -it public.ecr.aws/aws-cli/aws-cli $*

    Jendela PowerShell

    C:\> Function AWSCLI {docker run --rm -it public.ecr.aws/aws-cli/aws-cli $args} Set-Alias -Name aws -Value AWSCLI
    Docker Hub

    Linux dan macOS

    $ alias aws='docker run --rm -it amazon/aws-cli'

    Prompt Perintah Windows

    C:\> doskey aws=docker run --rm -it amazon/aws-cli $*

    Jendela PowerShell

    C:\> Function AWSCLI {docker run --rm -it amazon/aws-cli $args} Set-Alias -Name aws -Value AWSCLI
  • Untuk akses ke sistem file host dan pengaturan konfigurasi saat menggunakan aws perintah, jalankan yang berikut ini.

    Amazon ECR Public

    Linux dan macOS

    $ alias aws='docker run --rm -it -v ~/.aws:/root/.aws -v $(pwd):/aws public.ecr.aws/aws-cli/aws-cli'

    Prompt Perintah Windows

    C:\> doskey aws=docker run --rm -it -v %userprofile%\.aws:/root/.aws -v %cd%:/aws public.ecr.aws/aws-cli/aws-cli $*

    Jendela PowerShell

    C:\> Function AWSCLI {docker run --rm -it -v $env:userprofile\.aws:/root/.aws -v $pwd\aws:/aws public.ecr.aws/aws-cli/aws-cli $args} Set-Alias -Name aws -Value AWSCLI
    Docker Hub

    Linux dan macOS

    $ alias aws='docker run --rm -it -v ~/.aws:/root/.aws -v $(pwd):/aws amazon/aws-cli'

    Prompt Perintah Windows

    C:\> doskey aws=docker run --rm -it -v %userprofile%\.aws:/root/.aws -v %cd%:/aws amazon/aws-cli $*

    Jendela PowerShell

    C:\> Function AWSCLI {docker run --rm -it -v $env:userprofile\.aws:/root/.aws -v $pwd\aws:/aws amazon/aws-cli $args} Set-Alias -Name aws -Value AWSCLI
  • Untuk menetapkan versi tertentu untuk digunakan dalam aws alias Anda, tambahkan tag versi Anda.

    Amazon ECR Public

    Linux dan macOS

    $ alias aws='docker run --rm -it -v ~/.aws:/root/.aws -v $(pwd):/aws public.ecr.aws/aws-cli/aws-cli:2.0.6'

    Prompt Perintah Windows

    C:\> doskey aws=docker run --rm -it -v %userprofile%\.aws:/root/.aws -v %cd%:/aws public.ecr.aws/aws-cli/aws-cli:2.0.6 $*

    Jendela PowerShell

    C:\> Function AWSCLI {docker run --rm -it -v $env:userprofile\.aws:/root/.aws -v $pwd\aws:/aws public.ecr.aws/aws-cli/aws-cli:2.0.6 $args} Set-Alias -Name aws -Value AWSCLI
    Docker Hub

    Linux dan macOS

    $ alias aws='docker run --rm -it -v ~/.aws:/root/.aws -v $(pwd):/aws amazon/aws-cli:2.0.6'

    Prompt Perintah Windows

    C:\> doskey aws=docker run --rm -it -v %userprofile%\.aws:/root/.aws -v %cd%:/aws amazon/aws-cli:2.0.6 $*

    Jendela PowerShell

    C:\> Function AWSCLI {docker run --rm -it -v $env:userprofile\.aws:/root/.aws -v $pwd\aws:/aws amazon/aws-cli:2.0.6 $args} Set-Alias -Name aws -Value AWSCLI

Setelah mengatur alias Anda, Anda dapat menjalankan AWS CLI versi 2 dari dalam wadah seolah-olah itu diinstal pada sistem host Anda.

$ aws --version aws-cli/2.17.20 Python/3.7.3 Linux/4.9.184-linuxkit botocore/2.4.5dev10