Menjalankan AWS IoT Greengrass di kontainer Docker - AWS IoT Greengrass

AWS IoT Greengrass Version 1 memasuki fase umur panjang pada 30 Juni 2023. Untuk informasi selengkapnya, lihat kebijakan AWS IoT Greengrass V1 pemeliharaan. Setelah tanggal ini, tidak AWS IoT Greengrass V1 akan merilis pembaruan yang menyediakan fitur, penyempurnaan, perbaikan bug, atau patch keamanan. Perangkat yang berjalan AWS IoT Greengrass V1 tidak akan terganggu dan akan terus beroperasi dan terhubung ke cloud. Kami sangat menyarankan Anda bermigrasi ke AWS IoT Greengrass Version 2, yang menambahkan fitur baru yang signifikan dan dukungan untuk platform tambahan.

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

Menjalankan AWS IoT Greengrass di kontainer Docker

AWS IoT Greengrass dapat dikonfigurasi untuk berjalan di kontainer Docker ini.

Anda dapat mengunduh Dockerfile melalui AmazonCloudFront yang memiliki perangkat lunakAWS IoT Greengrass Core dan dependensi yang terinstal. Untuk mengubah citra Docker agar berjalan pada arsitektur platform yang berbeda atau mengurangi ukuran citra Docker, lihat file README dalam unduhan paket Docker.

Untuk membantu Anda memulai bereksperimen dengan AWS IoT Greengrass, AWS juga menyediakan prebuilt citra Docker yang memiliki perangkat lunak AWS IoT Greengrass Core dan dependensi yang terinstal. Anda dapat mengunduh citra dari Hub Docker atau Amazon Elastic Container Registry (Amazon ECR). Citra prebuilt ini menggunakan citra dasar Amazon Linux 2 (x86_64) dan Alpine Linux (x86_64, Armv7l, atau AArch64).

penting

30 Juni 2022, pemeliharaanAWS IoT Greengrass berakhir untuk perangkat lunakAWS IoT Greengrass Core v1.x Citra Docker yang dipublikasikan ke Amazon Elastic Container Registry (Amazon ECR) dan Docker Hub. Anda dapat terus mengunduh gambar Docker ini dari Amazon ECR dan Docker Hub hingga 30 Juni 2023, yaitu 1 tahun setelah pemeliharaan berakhir. Namun, perangkat lunakAWS IoT Greengrass Core v1.x gambar Docker tidak lagi menerima patch keamanan atau perbaikan bug setelah pemeliharaan berakhir pada 30 Juni 2022. Jika Anda menjalankan beban kerja produksi yang bergantung pada image Docker ini, sebaiknya buat image Docker sendiri menggunakan Dockerfiles yangAWS IoT Greengrass menyediakan. Untuk informasi selengkapnya, lihat AWS IoT Greengrass Perangkat lunak Docker.

Topik ini menjelaskan cara mengunduh citra Docker AWS IoT Greengrass dari Amazon ECR dan menjalankannya pada platform Windows, MacOS, atau Linux (x86_64). Topik ini mengandung langkah-langkah berikut:

Fitur-fitur berikut tidak didukung ketika Anda menjalankan AWS IoT Greengrass dalam kontainer Docker:

  • Konektor yang berjalan di mode kontainer Greengrass ini. Untuk menjalankan konektor dalam kontainer Docker, konektor harus berjalan dengan mode Tanpa kontainer ini. Untuk menemukan konektor yang mendukung mode Tanpa kontainer ini, lihat AWS-disediakan konektor Greengrass. Beberapa konektor ini memiliki parameter mode isolasi yang harus Anda atur ke Tanpa kontainer.

  • Sumber daya perangkat dan volume lokal. Fungsi Lambda yang ditetapkan pengguna milik Anda yang berjalan dalam kontainer Docker harus mengakses perangkat dan volume pada core secara langsung.

Fitur-fitur ini tidak didukung ketika lingkungan waktu aktif Lambda untuk grup Greengrass diatur ke Tanpa kontainer, yang diperlukan untuk menjalankan AWS IoT Greengrass dalam kontainer Docker.

Prasyarat

Sebelum Anda memulai tutorial ini, Anda harus melakukan hal berikut.

  • Anda harus menginstal perangkat lunak dan versi berikut pada komputer host Anda berdasarkan versi AWS Command Line Interface (AWS CLI) yang Anda pilih.

    AWS CLI version 2
    • Docker versi 18.09 atau yang lebih baru. Versi sebelumnya juga dapat berfungsi, namun kami merekomendasikan 18.09 atau yang lebih baru.

    • AWS CLI versi 2.0.0 atau yang lebih baru.

      catatan

      Untuk meningkatkan AWS CLI versi 2 ke yang lebih baru pada komputer Windows, Anda harus mengulangi proses instalasi MSI ini.

    AWS CLI version 1
    • Docker versi 18.09 atau yang lebih baru. Versi sebelumnya juga dapat berfungsi, namun kami merekomendasikan 18.09 atau yang lebih baru.

    • Python versi 3.6 atau lebih baru.

    • pip versi 18.1 atau yang lebih baru.

    • AWS CLI versi 1.17.10 atau yang lebih baru

      • Untuk menginstal AWS CLI versi 1, lihat Menginstal AWS CLI versi 1.

      • Untuk mengonfigurasi AWS CLI, lihat Mengonfigurasi AWS CLI.

      • Untuk meningkatkan AWS CLI versi 1 ke versi terbaru, jalankan perintah berikut.

        pip install awscli --upgrade --user
      catatan

      Jika Anda menggunakan Instalasi MSI dari AWS CLI versi 1 pada Windows, perhatikan hal-hal berikut:

      • Jika instalasi AWS CLI versi 1 gagal untuk menginstal botocore, coba gunakan Instalasi Python dan pip.

      • Untuk meningkatkan AWS CLI versi 1 ke yang lebih baru, anda mesti mengulangi proses instalasi MSI.

  • Untuk mengakses sumber daya Amazon Elastic Container Registry (Amazon ECR), Anda harus memberikan izin berikut.

    • Amazon ECR mengharuskan pengguna memiliki izin ecr:GetAuthorizationToken melalui kebijakan (IAM) AWS Identity and Access Management sebelum mereka dapat mengautentikasi ke registrasi dan mendorong atau menarik citra dari repositori Amazon ECR. Untuk informasi lebih lanjut, lihat Contoh Kebijakan repositori Amazon ECR dan Mengakses Satu Repositori Amazon ECR dalam Panduan Pengguna Amazon Elastis Registri Kontainer.

Langkah 1: Dapatkan citra kontainer AWS IoT Greengrass dari Amazon ECR

AWS menyediakan citra Docker yang memiliki perangkat lunak AWS IoT Greengrass core terpasang.

Awas

Dimulai dengan v1.11.6 perangkat lunakAWS IoT Greengrass Core, gambar Greengrass Docker tidak lagi menyertakan Python 2.7, karena Python 2.7 mencapai end-of-life pada tahun 2020 dan tidak lagi menerima pembaruan keamanan. Jika Anda memilih untuk memperbarui ke image Docker ini, kami sarankan Anda memvalidasi bahwa aplikasi Anda bekerja dengan image Docker baru sebelum Anda menerapkan pembaruan ke perangkat produksi. Jika Anda memerlukan Python 2.7 untuk aplikasi Anda yang menggunakan gambar Greengrass Docker, Anda dapat memodifikasi Greengrass Dockerfile untuk menyertakan Python 2.7 untuk aplikasi Anda.

Untuk langkah-langkah yang menunjukkan cara menariklatest gambar dari Amazon ECR, pilih sistem operasi Anda:

Jalankan perintah berikut di terminal komputer Anda.

  1. Masuk ke registri AWS IoT Greengrass dalam Amazon ECR.

    aws ecr get-login-password --region us-west-2 | docker login --username AWS --password-stdin https://216483018798.dkr.ecr.us-west-2.amazonaws.com

    Jika berhasil, output akan mencetak Login Succeeded.

  2. Mengambil bagian citra kontainer AWS IoT Greengrass ini.

    docker pull 216483018798.dkr.ecr.us-west-2.amazonaws.com/aws-iot-greengrass:latest
    catatan

    Citra latest berisi versi stabil terbaru dari Perangkat lunak AWS IoT Greengrass Core yang terinstal pada gambar dasar Amazon Linux 2. Anda juga dapat menarik gambar lain dari repositori. Untuk menemukan semua gambar yang tersedia, periksa Tag pada halaman Docker Hub atau menggunakan perintah aws ecr list-images ini. Misalnya:

    aws ecr list-images --region us-west-2 --registry-id 216483018798 --repository-name aws-iot-greengrass
  3. Mengaktifkan perlindungan symlink dan hardlink. Jika Anda bereksperimen dengan menjalankan AWS IoT Greengrass dalam sebuah kontainer, Anda dapat mengaktifkan pengaturan untuk boot ketika ini saja.

    catatan

    Anda mungkin harus menggunakan sudo untuk menjalankan perintah ini.

    • Untuk mengaktifkan pengaturan untuk boot ketika ini saja:

      echo 1 > /proc/sys/fs/protected_hardlinks echo 1 > /proc/sys/fs/protected_symlinks
    • Untuk mengaktifkan pengaturan untuk bertahan di restart:

      echo '# AWS IoT Greengrass' >> /etc/sysctl.conf echo 'fs.protected_hardlinks = 1' >> /etc/sysctl.conf echo 'fs.protected_symlinks = 1' >> /etc/sysctl.conf sysctl -p
  4. Mengaktifkan penerusan jaringan IPv4, yang diperlukan untuk cloud deployment AWS IoT Greengrass dan komunikasi MQTT agar bekerja di Linux. Di file /etc/sysctl.conf ini, atur net.ipv4.ip_forward ke 1, dan kemudian muat ulang sysctls.

    sudo nano /etc/sysctl.conf # set this net.ipv4.ip_forward = 1 sudo sysctl -p
    catatan

    Anda bisa menggunakan editor pilihan Anda dan bukan nano.

Jalankan perintah berikut di terminal komputer Anda.

  1. Masuk ke registri AWS IoT Greengrass dalam Amazon ECR.

    aws ecr get-login-password --region us-west-2 | docker login --username AWS --password-stdin https://216483018798.dkr.ecr.us-west-2.amazonaws.com

    Jika berhasil, output akan mencetak Login Succeeded.

  2. Mengambil bagian citra kontainer AWS IoT Greengrass ini.

    docker pull 216483018798.dkr.ecr.us-west-2.amazonaws.com/aws-iot-greengrass:latest
    catatan

    Citra latest berisi versi stabil terbaru dari Perangkat lunak AWS IoT Greengrass Core yang terinstal pada gambar dasar Amazon Linux 2. Anda juga dapat menarik gambar lain dari repositori. Untuk menemukan semua gambar yang tersedia, periksa Tag pada halaman Docker Hub atau menggunakan perintah aws ecr list-images ini. Misalnya:

    aws ecr list-images --region us-west-2 --registry-id 216483018798 --repository-name aws-iot-greengrass

Jalankan perintah berikut di prompt perintah. Sebelum Anda dapat menggunakan perintah Docker pada Windows, Docker Desktop harus berjalan.

  1. Masuk ke registri AWS IoT Greengrass dalam Amazon ECR.

    aws ecr get-login-password --region us-west-2 | docker login --username AWS --password-stdin https://216483018798.dkr.ecr.us-west-2.amazonaws.com

    Jika berhasil, output akan mencetak Login Succeeded.

  2. Mengambil bagian citra kontainer AWS IoT Greengrass ini.

    docker pull 216483018798.dkr.ecr.us-west-2.amazonaws.com/aws-iot-greengrass:latest
    catatan

    Citra latest berisi versi stabil terbaru dari Perangkat lunak AWS IoT Greengrass Core yang terinstal pada gambar dasar Amazon Linux 2. Anda juga dapat menarik gambar lain dari repositori. Untuk menemukan semua gambar yang tersedia, periksa Tag pada halaman Docker Hub atau menggunakan perintah aws ecr list-images ini. Misalnya:

    aws ecr list-images --region us-west-2 --registry-id 216483018798 --repository-name aws-iot-greengrass

Langkah 2: Membuat dan mengonfigurasi grup Greengrass dan core

Citra Docker memiliki perangkat lunak AWS IoT Greengrass core terinstal, tetapi Anda harus membuat grup Greengrass dan core. Ini termasuk mengunduh sertifikat dan file konfigurasi core.

Langkah 3: Jalankan AWS IoT Greengrass secara lokal

Setelah grup dikonfigurasi, Anda siap untuk mengonfigurasi dan memulai core. Untuk langkah-langkah yang menunjukkan cara melakukannya, pilih sistem operasi Anda:

Jalankan perintah berikut di terminal komputer Anda.

  1. Buat folder untuk sumber daya keamanan perangkat, lalu pindahkan sertifikat dan kunci ke folder itu. Jalankan perintah berikut. Ganti path-to-security-filesdengan jalur ke sumber daya keamanan, dan ganti certificateId dengan ID sertifikat dalam nama file.

    mkdir /tmp/certs mv path-to-security-files/certificateId-certificate.pem.crt /tmp/certs mv path-to-security-files/certificateId-public.pem.key /tmp/certs mv path-to-security-files/certificateId-private.pem.key /tmp/certs mv path-to-security-files/AmazonRootCA1.pem /tmp/certs
  2. Buat folder untuk konfigurasi perangkat, dan pindahkan file konfigurasiAWS IoT Greengrass Core ke folder itu. Jalankan perintah berikut. Ganti path-to-config-filedengan path ke file konfigurasi.

    mkdir /tmp/config mv path-to-config-file/config.json /tmp/config
  3. Mulai AWS IoT Greengrass dan ikat-pasang sertifikat dan file konfigurasi dalam kontainer Docker.

    Ganti /tmp dengan jalur di mana Anda dekompresi sertifikat dan file konfigurasi.

    docker run --rm --init -it --name aws-iot-greengrass \ --entrypoint /greengrass-entrypoint.sh \ -v /tmp/certs:/greengrass/certs \ -v /tmp/config:/greengrass/config \ -p 8883:8883 \ 216483018798.dkr.ecr.us-west-2.amazonaws.com/aws-iot-greengrass:latest

    Output-nya akan terlihat seperti contoh ini:

    Setting up greengrass daemon Validating hardlink/softlink protection Waiting for up to 30s for Daemon to start Greengrass successfully started with PID: 10

Jalankan perintah berikut di terminal komputer Anda.

  1. Buat folder untuk sumber daya keamanan perangkat, lalu pindahkan sertifikat dan kunci ke folder itu. Jalankan perintah berikut. Ganti path-to-security-filesdengan jalur ke sumber daya keamanan, dan ganti certificateId dengan ID sertifikat dalam nama file.

    mkdir /tmp/certs mv path-to-security-files/certificateId-certificate.pem.crt /tmp/certs mv path-to-security-files/certificateId-public.pem.key /tmp/certs mv path-to-security-files/certificateId-private.pem.key /tmp/certs mv path-to-security-files/AmazonRootCA1.pem /tmp/certs
  2. Buat folder untuk konfigurasi perangkat, dan pindahkan file konfigurasiAWS IoT Greengrass Core ke folder itu. Jalankan perintah berikut. Ganti path-to-config-filedengan path ke file konfigurasi.

    mkdir /tmp/config mv path-to-config-file/config.json /tmp/config
  3. Mulai AWS IoT Greengrass dan ikat-pasang sertifikat dan file konfigurasi dalam kontainer Docker.

    Ganti /tmp dengan jalur di mana Anda dekompresi sertifikat dan file konfigurasi.

    docker run --rm --init -it --name aws-iot-greengrass \ --entrypoint /greengrass-entrypoint.sh \ -v /tmp/certs:/greengrass/certs \ -v /tmp/config:/greengrass/config \ -p 8883:8883 \ 216483018798.dkr.ecr.us-west-2.amazonaws.com/aws-iot-greengrass:latest

    Output-nya akan terlihat seperti contoh ini:

    Setting up greengrass daemon Validating hardlink/softlink protection Waiting for up to 30s for Daemon to start Greengrass successfully started with PID: 10
  1. Buat folder untuk sumber daya keamanan perangkat, lalu pindahkan sertifikat dan kunci ke folder itu. Jalankan perintah berikut di prompt perintah. Ganti path-to-security-filesdengan jalur ke sumber daya keamanan, dan ganti certificateId dengan ID sertifikat dalam nama file.

    mkdir C:\Users\%USERNAME%\Downloads\certs move path-to-security-files\certificateId-certificate.pem.crt C:\Users\%USERNAME%\Downloads\certs move path-to-security-files\certificateId-public.pem.key C:\Users\%USERNAME%\Downloads\certs move path-to-security-files\certificateId-private.pem.key C:\Users\%USERNAME%\Downloads\certs move path-to-security-files\AmazonRootCA1.pem C:\Users\%USERNAME%\Downloads\certs
  2. Buat folder untuk konfigurasi perangkat, dan pindahkan file konfigurasiAWS IoT Greengrass Core ke folder itu. Jalankan perintah berikut di prompt perintah. Ganti path-to-config-filedengan path ke file konfigurasi.

    mkdir C:\Users\%USERNAME%\Downloads\config move path-to-config-file\config.json C:\Users\%USERNAME%\Downloads\config
  3. Mulai AWS IoT Greengrass dan ikat-pasang sertifikat dan file konfigurasi dalam kontainer Docker. Jalankan perintah berikut di prompt perintah Anda.

    docker run --rm --init -it --name aws-iot-greengrass --entrypoint /greengrass-entrypoint.sh -v c:/Users/%USERNAME%/Downloads/certs:/greengrass/certs -v c:/Users/%USERNAME%/Downloads/config:/greengrass/config -p 8883:8883 216483018798.dkr.ecr.us-west-2.amazonaws.com/aws-iot-greengrass:latest

    Saat Docker meminta Anda untuk membagikan drive C:\ dengan daemon Docker, izinkan drive untuk ikat-pasang C:\ di dalam kontainer Docker. Untuk informasi lebih lanjut, lihat drive berbagi dalam dokumentasi Docker.

    Output-nya akan terlihat seperti contoh ini:

    Setting up greengrass daemon Validating hardlink/softlink protection Waiting for up to 30s for Daemon to start Greengrass successfully started with PID: 10
catatan

Jika kontainer tidak membuka shell dan langsung keluar, Anda dapat men-debug masalah dengan ikat-pasang mencatat waktu aktif Greengrass ketika Anda memulai citra. Untuk informasi selengkapnya, lihat Untuk dapat bertahan dengan mencatat waktu aktif Greengrass di luar kontainer Docker.

Langkah 4: Mengonfigurasi kontainerisasi "Tanpa kontainer" untuk grup Greengrass

Ketika Anda menjalankan AWS IoT Greengrass dalam kontainer Docker, semua fungsi Lambda harus berjalan tanpa kontainerisasi. Pada langkah ini, Anda mengatur kontainerisasi default untuk grup Tanpa kontainer. Anda harus melakukan ini sebelum Anda men-deploy grup untuk pertama kalinya.

  1. Di panel navigasiAWS IoT konsol, di bawah Kelola, luaskan perangkat Greengrass, lalu pilih Grup (V1).

  2. Pilih grup yang pengaturannya ingin Anda ubah.

  3. Pilih tab fungsi Lambda.

  4. Di bawah Lingkungan runtime fungsi Lambda Default, pilih Edit.

  5. Di lingkungan runtime fungsi Lambda Edit default, di bawah Containerization fungsi Lambda Default, ubah pengaturan containerization.

  6. Pilih Save (Simpan).

Perubahan berlaku ketika grup di-deploy.

Untuk informasi selengkapnya, lihat Pengaturan kontainerisasi default untuk fungsi Lambda dalam grup.

catatan

Secara default, fungsi Lambda menggunakan pengaturan grup kontainerisasi. Jika anda mengesampingkan pengaturan Tanpa kontainer untuk setiap fungsi Lambda ketika AWS IoT Greengrass berjalan dalam kontainer Docker, deployment-nya gagal.

Langkah 5: Men-deploy fungsi Lambda ke kontainer Docker AWS IoT Greengrass ini

Anda dapat men-deploy fungsi Lambda berumur panjang ke kontainer Greengrass Docker.

Langkah 6: (Opsional) Men-deploy perangkat klien yang berinteraksi dengan Greengrass berjalan dalam kontainer Docker

Anda juga dapat men-deploy perangkat klien yang berinteraksi denganAWS IoT Greengrass ketika berjalan dalam kontainer Docker.

Menghentikan kontainer Docker AWS IoT Greengrass ini

Untuk menghentikan kontainer Docker AWS IoT Greengrass ini, tekan Ctrl+C di terminal atau prompt perintah. Tindakan ini mengirimkan SIGTERM ke proses daemon Greengrass untuk meruntuhkan proses daemon Greengrass dan semua proses Lambda yang dimulai oleh proses daemon. Kontainer Docker diinisialisasi dengan proses /dev/init sebagai PID 1, yang membantu untuk menghapus proses zombie sisa. Untuk informasi lebih lanjut, lihat referensi menjalankan Docker.

Penyelesaian masalah AWS IoT Greengrass di kontainer Docker

Gunakan informasi berikut untuk membantu memecahkan masalah dengan menjalankan AWS IoT Greengrass dalam kontainer Docker.

Error: Tidak dapat melakukan login interaktif dari perengakat non TTY.

Solusi: Kesalahan ini dapat terjadi ketika Anda menjalankan perintah aws ecr get-login-password ini. Pastikan Anda menginstal AWS CLI versi 2 atau versi 1 yang terbaru. Kami menyarankan agar Anda menggunakan AWS CLI versi 2. Untuk informasi selengkapnya, lihat Menginstal AWS CLI dalam AWS Command Line Interface Panduan Pengguna.

Kesalahan: Opsi tidak diketahui: -no-include-email.

Solusi: Kesalahan ini dapat terjadi ketika Anda menjalankan perintah aws ecr get-login ini. Pastikan Anda memiliki versi AWS CLI terbaru yang terinstal (misalnya, jalankan: pip install awscli --upgrade --user). Jika Anda menggunakan Windows dan Anda menginstal CLI menggunakan MSI installer, Anda harus mengulangi proses instalasi. Untuk informasi lebih lanjut, lihat Menginstal AWS Command Line Interface di Microsoft Windows dalam AWS Command Line Interface Panduan Pengguna.

Peringatan: IPv4 dinonaktifkan. Jaringan tidak akan bekerja.

Solusi: Anda mungkin menerima peringatan ini atau pesan serupa ketika menjalankan AWS IoT Greengrass pada komputer Linux. Aktifkan penerusan jaringan IPv4 seperti yang dijelaskan dalam Langkah. AWS IoT Greengrass cloud deployment dan komunikasi MQTT tidak bekerja ketika penerusan IPv4 tidak diaktifkan. Untuk informasi lebih lanjut, lihat Mengonfigurasi parameter kernel namespace (sysctls) pada ketika waktu aktif dalam dokumentasi Docker.

Error: Firewall memblokir file berbagi antara windows dan kontainer.

Solusi: Anda mungkin menerima error ini atau pesan Firewall Detected ketika menjalankan Docker di komputer Windows. Hal ini juga dapat terjadi jika Anda masuk pada jaringan pribadi virtual (VPN) dan pengaturan jaringan Anda mencegah drive berbagi untuk dipasang. Dalam situasi itu, matikan VPN dan jalankan kembali kontainer Docker.

Kesalahan: Terjadi kesalahan (AccessDeniedException) saat memanggilGetAuthorizationToken operasi: Pengguna: arn:aws:iam: :::user/ <account-id><user-name>tidak berwenang untuk melakukan: ecr: padaGetAuthorizationToken sumber daya: *

Anda mungkin menerima kesalahan ini saat menjalankan aws ecr get-login-password jika Anda tidak memiliki izin yang memadai untuk mengakses repositori Amazon ECR. Untuk informasi lebih lanjut, lihat Contoh Kebijakan repositori Amazon ECR dan Mengakses Satu Repositori Amazon ECR dalam Panduan Pengguna Amazon ECR.

Untuk bantuan penyelesaian masalah AWS IoT Greengrass yang umum, lihat Pemecahan Masalah AWS IoT Greengrass.

Debugging AWS IoT Greengrass di kontainer Docker

Untuk debug masalah dengan kontainer Docker, Anda dapat bertahan dengan mencatat waktu aktif Greengrass atau melampirkan shell interaktif untuk kontainer Docker.

Untuk dapat bertahan dengan mencatat waktu aktif Greengrass di luar kontainer Docker

Anda dapat menjalankan kontainer Docker AWS IoT Greengrass setelah ikat-pasang direktori /greengrass/ggc/var/log ini. Catatan bertahan bahkan setelah kontainer keluar atau dihapus.

Linux atau macOS

Menghentikan kontainer Greengrass Docker berjalan pada host, dan kemudian menjalankan perintah berikut di terminal. Ini ikat-pasang Greengrass direktori log dan mulai citra Docker.

Ganti /tmp dengan jalur di mana Anda dekompresi sertifikat dan file konfigurasi.

docker run --rm --init -it --name aws-iot-greengrass \ --entrypoint /greengrass-entrypoint.sh \ -v /tmp/certs:/greengrass/certs \ -v /tmp/config:/greengrass/config \ -v /tmp/log:/greengrass/ggc/var/log \ -p 8883:8883 \ 216483018798.dkr.ecr.us-west-2.amazonaws.com/aws-iot-greengrass:latest

Anda kemudian dapat memeriksa log Anda di /tmp/log pada host Anda untuk melihat apa yang terjadi ketika Greengrass berjalan di dalam kontainer Docker.

Di Windows

Menghentikan kontainer Greengrass Docker berjalan di host, dan kemudian menjalankan perintah berikut di perintah prompt. Ini ikat-pasang Greengrass direktori log dan mulai citra Docker.

cd C:\Users\%USERNAME%\Downloads mkdir log docker run --rm --init -it --name aws-iot-greengrass --entrypoint /greengrass-entrypoint.sh -v c:/Users/%USERNAME%/Downloads/certs:/greengrass/certs -v c:/Users/%USERNAME%/Downloads/config:/greengrass/config -v c:/Users/%USERNAME%/Downloads/log:/greengrass/ggc/var/log -p 8883:8883 216483018798.dkr.ecr.us-west-2.amazonaws.com/aws-iot-greengrass:latest

Anda kemudian dapat memeriksa log Anda di C:/Users/%USERNAME%/Downloads/log pada host Anda untuk melihat apa yang terjadi ketika Greengrass berjalan di dalam kontainer Docker.

Untuk melampirkan shell interaktif ke kontainer Docker

Anda dapat melampirkan shell interaktif untuk menjalankan kontainer Docker AWS IoT Greengrass ini. Hal ini dapat membantu Anda menyelidiki keadaan kontainer Greengrass Docker.

Linux atau macOS

Sementara kontainer Greengrass Docker berjalan, jalankan perintah berikut di terminal terpisah.

docker exec -it $(docker ps -a -q -f "name=aws-iot-greengrass") /bin/bash
Di Windows

Sementara kontainer Greengrass Docker berjalan, jalankan perintah berikut di prompt perintah terpisah.

docker ps -a -q -f "name=aws-iot-greengrass"

Ganti gg-container-iddengancontainer_id hasil dari perintah sebelumnya.

docker exec -it gg-container-id /bin/bash