Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Bangun gambar kontainer AWS IoT Greengrass dari Dockerfile
AWS menyediakan Dockerfile yang dapat Anda unduh dan gunakan untuk menjalankan perangkat lunak inti AWS IoT Greengrass dalam kontainer Docker. Dockerfile berisi kode sumber untuk membangun citra kontainer AWS IoT Greengrass kustom.
Sebelum Anda membangun sebuah citra kontainer AWS IoT Greengrass, Anda harus mengonfigurasi Dockerfile Anda untuk memilih versi perangkat lunak inti AWS IoT Greengrass yang ingin Anda instal. Anda juga dapat mengonfigurasi variabel lingkungan untuk memilih cara penyediaan sumber daya selama instalasi, dan menyesuaikan opsi instalasi lainnya. Bagian ini menjelaskan cara mengonfigurasi dan membangun gambar Docker AWS IoT Greengrass dari Dockerfile.
Unduh paket Dockerfile
Anda dapat mengunduh paket AWS IoT Greengrass Dockerfile dari: GitHub
AWS Greengrass Docker Repositori
Setelah Anda men-download paket tersebut, ekstraksi kontennya ke
di komputer Anda. Dockerfile menggunakan versi Greengrass yang lebih lama. Anda harus memperbarui file untuk menggunakan versi Greengrass yang Anda inginkan.download-directory/
aws-greengrass-docker-nucleus-version
Tentukan versi perangkat lunak inti AWS IoT Greengrass
Gunakan argumen bangun berikut di Dockerfile untuk menentukan versi perangkat lunak inti AWS IoT Greengrass yang ingin Anda gunakan di citra Docker AWS IoT Greengrass. Secara default, Dockerfile menggunakan versi terbaru dari perangkat lunak inti AWS IoT Greengrass.
GREENGRASS_RELEASE_VERSION
-
Versi perangkat lunak inti AWS IoT Greengrass. Secara default, Dockerfile mengunduh versi terbaru yang tersedia dari inti Greengrass. Tetapkan nilai ke versi nukleus yang ingin Anda unduh.
Tetapkan variabel lingkungan
Variabel lingkungan memungkinkan Anda untuk menyesuaikan bagaimana perangkat lunak inti AWS IoT Greengrass diinstal dalam kontainer Docker. Anda dapat mengatur variabel lingkungan untuk gambar Docker AWS IoT Greengrass dalam berbagai cara.
-
Untuk menggunakan variabel lingkungan yang sama untuk membuat beberapa gambar, atur variabel lingkungan langsung di Dockerfile.
-
Jika Anda menggunakan
docker run
untuk memulai kontainer Anda, lewati variabel lingkungan sebagai argumen dalam perintah, atau atur variabel lingkungan dalam file variabel lingkungan dan kemudian lewati file tersebut sebagai argumen. Untuk informasi selengkapnya tentang pengaturan variabel lingkungan di Docker, lihat variabel lingkungandalam dokumentasi Docker. -
Jika Anda menggunakan
docker-compose up
untuk memulai kontainer Anda, tetapkan file variabel lingkungan dan kemudian lewati file tersebut sebagai argumen. Untuk informasi selengkapnya tentang pengaturan variabel lingkungan di Compose, lihat Dokumentasi docker.
Anda dapat mengonfigurasi variabel lingkungan berikut untuk citra Docker AWS IoT Greengrass.
catatan
Jangan memodifikasi variabel TINI_KILL_PROCESS_GROUP
dalam Dockerfile. Variabel ini memungkinkan penerusan SIGTERM
ke semua PID dalam grup PID sehingga perangkat lunak AWS IoT Greengrass Core dapat dimatikan dengan benar ketika wadah Docker dihentikan.
GGC_ROOT_PATH
-
(Opsional) Path ke folder dalam kontainer yang akan digunakan sebagai akar untuk perangkat lunak inti AWS IoT Greengrass.
Default:
/greengrass/v2
PROVISION
-
(Opsional) Menentukan apakah inti AWS IoT Greengrass menyediakan sumber daya AWS.
-
Jika Anda menentukan
true
, perangkat lunak inti AWS IoT Greengrass akan mendaftarkan gambar kontainer tersebut sebagai objek AWS IoT dan menyediakan sumber daya AWS yang diperlukan oleh perangkat inti Greengrass. Perangkat lunak inti AWS IoT Greengrass menyediakan objek AWS IoT, grup objek AWS IoT (opsional), IAM role, dan alias peran AWS IoT. Untuk informasi selengkapnya, lihat Jalankan AWS IoT Greengrass dalam kontainer Docker dengan penyediaan sumber daya otomatis. -
Jika Anda menentukan
false
, maka Anda harus membuat file konfigurasi untuk memberikan ke installer inti AWS IoT Greengrass yang menentukan untuk menggunakan sumber daya AWS dan sertifikat yang Anda buat secara manual. Untuk informasi selengkapnya, lihat Jalankan AWS IoT Greengrass dalam kontainer Docker dengan penyediaan sumber daya manual.
Default:
false
-
AWS_REGION
-
(Opsional) Wilayah AWS yang digunakan oleh perangkat lunak inti AWS IoT Greengrass untuk mengambil atau membuat sumber daya AWS yang diperlukan.
Default:
us-east-1
. THING_NAME
-
(Opsional) Nama objek AWS IoT yang Anda daftarkan sebagai perangkat inti ini. Jika objek dengan nama ini tidak ada di Akun AWS Anda, perangkat lunak inti AWS IoT Greengrass akan membuatnya.
Anda harus menentukan
PROVISION=true
untuk menerapkan argumen ini.Default:
GreengrassV2IotThing_
ditambah UUID acak. THING_GROUP_NAME
-
(Opsional) Nama grup objek AWS IoT di mana Anda menambahkan AWS IoT jika deployment menargetkan grup objek ini, hal ini dan perangkat inti lainnya dalam grup tersebut akan menerima deployment tersebut saat tersambung ke AWS IoT Greengrass. Jika grup objek dengan nama ini tidak ada di Akun AWS Anda, perangkat lunak inti AWS IoT Greengrass akan membuatnya.
Anda harus menentukan
PROVISION=true
untuk menerapkan argumen ini. TES_ROLE_NAME
-
(Opsional) Nama IAM role yang akan digunakan untuk memperoleh kredensial AWS yang memungkinkan perangkat inti Greengrass berinteraksi dengan layanan AWS. Jika objek dengan nama itu tidak ada di Akun AWS Anda, perangkat lunak inti AWS IoT Greengrass akan membuatnya dengan kebijakan
GreengrassV2TokenExchangeRoleAccess
. Peran ini tidak memiliki akses ke bucket S3 tempat Anda meng-hosting artefak komponen. Jadi, Anda harus menambahkan izin pada bucket S3 dan objek artefak Anda ketika Anda membuat komponen. Untuk informasi selengkapnya, lihat Otorisasi perangkat inti untuk berinteraksi dengan AWS layanan.Default:
GreengrassV2TokenExchangeRole
TES_ROLE_ALIAS_NAME
-
(Opsional) Nama alias peran AWS IoT yang menunjuk ke IAM role yang menyediakan kredensial AWS untuk perangkat lunak inti Greengrass tersebut. Jika alias peran dengan nama ini tidak ada di Akun AWS, perangkat lunak inti AWS IoT Greengrass akan membuatnya dan mengarahkannya ke IAM role yang Anda tentukan.
Default:
GreengrassV2TokenExchangeRoleAlias
COMPONENT_DEFAULT_USER
-
(Opsional) Nama atau ID dari pengguna sistem dan grup yang digunakan oleh perangkat lunak inti AWS IoT Greengrass untuk menjalankan komponen. Tentukan pengguna dan grup, yang dipisahkan dengan titik dua. Grup ini opsional. Misalnya, Anda dapat menentukan
ggc_user:ggc_group
atauggc_user
.-
Jika Anda berjalan sebagai root, hal ini akan menjadi default untuk pengguna dan grup yang ditentukan oleh file konfigurasi. Jika file konfigurasi tersebut tidak menentukan pengguna dan grup, default-nya menjadi
ggc_user:ggc_group
. Jikaggc_user
atauggc_group
tidak ada, perangkat lunak akan membuatnya. -
Jika Anda berjalan sebagai pengguna non-root, perangkat lunak inti AWS IoT Greengrass akan menggunakan pengguna tersebut untuk menjalankan komponen.
-
Jika Anda tidak menentukan grup, perangkat lunak inti AWS IoT Greengrass akan menggunakan grup utama dari pengguna sistem.
Untuk informasi selengkapnya, lihat Konfigurasikan pengguna yang menjalankan komponen.
-
DEPLOY_DEV_TOOLS
-
Mendefinisikan apakah akan mengunduh dan menyebarkan komponen CLI Greengrass dalam gambar kontainer. Anda dapat menggunakan Greengrass CLI untuk mengembangkan dan men-debug komponen lokal.
penting
Kami menyarankan Anda menggunakan komponen ini hanya di lingkungan pengembangan, bukan lingkungan produksi. Komponen ini menyediakan akses ke informasi dan operasi yang biasanya tidak Anda perlukan di lingkungan produksi. Ikuti prinsip hak istimewa paling sedikit dengan menerapkan komponen ini hanya ke perangkat inti di mana Anda membutuhkannya.
Default:
false
INIT_CONFIG
-
(Opsional) Path ke file konfigurasi yang akan digunakan untuk menginstal perangkat lunak inti AWS IoT Greengrass. Anda dapat menggunakan opsi ini untuk mengatur perangkat inti Greengrass baru dengan konfigurasi inti tertentu, atau untuk menentukan sumber daya yang ditetapkan secara manual, misalnya. Anda harus memasang file konfigurasi Anda ke jalur yang Anda tentukan dalam argumen ini.
TRUSTED_PLUGIN
-
Fitur ini tersedia untuk v2.4.0 dan yang lebih baru dari komponen inti Greengrass.
(Opsional) Jalur ke file JAR untuk dimuat sebagai plugin tepercaya. Gunakan opsi ini untuk menyediakan file JAR plugin penyediaan, seperti menginstal dengan penyediaan armada atau penyediaan khusus.
THING_POLICY_NAME
-
Fitur ini tersedia untuk v2.4.0 dan yang lebih baru dari komponen inti Greengrass.
(Opsional) Nama AWS IoT kebijakan untuk dilampirkan ke sertifikat AWS IoT benda perangkat inti ini. Jika AWS IoT kebijakan dengan nama ini tidak ada di perangkat lunak AWS IoT Greengrass Core Anda Akun AWS membuatnya.
Anda harus menentukan
PROVISION=true
untuk menerapkan argumen ini.catatan
Perangkat lunak AWS IoT Greengrass Core membuat AWS IoT kebijakan permisif secara default. Anda dapat menjelaskan kebijakan ini, atau membuat kebijakan khusus yang membatasi izin untuk kasus penggunaan Anda. Untuk informasi selengkapnya, lihat Kebijakan AWS IoT minimal untuk perangkat inti AWS IoT Greengrass V2.
Tentukan dependensi yang akan dipasang
Instruksi RUN di Dockerfile AWS IoT Greengrass mempersiapkan lingkungan kontainer untuk menjalankan penginstal perangkat lunak inti AWS IoT Greengrass. Anda dapat menyesuaikan dependensi yang diinstal sebelum penginstal perangkat lunak inti AWS IoT Greengrass berjalan di kontainer Docker.
Bangun citra AWS IoT Greengrass
Gunakan Dockerfile AWS IoT Greengrass untuk membangun citra kontainer AWS IoT Greengrass. Anda dapat menggunakan CLI Docker atau Docker Compose CLI untuk membangun citra dan memulai kontainer tersebut. Anda juga dapat menggunakan CLI Docker untuk membangun citra dan kemudian menggunakan Docker Compose untuk memulai kontainer Anda dari citra tersebut.
Anda telah berhasil membuat citra kontainer AWS IoT Greengrass. Gambar Docker memiliki perangkat lunak inti AWS IoT Greengrass yang terinstal. Anda sekarang dapat menjalankan perangkat lunak inti AWS IoT Greengrass dalam kontainer Docker