Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
GlassFish Wadah Docker yang telah dikonfigurasi sebelumnya pada Elastic Beanstalk
catatan
Pada tanggal 18 Juli 2022, Elastic Beanstalk menetapkan status semua cabang platform berbasis Amazon Linux () untuk pensiun. AMI AL1 Untuk informasi selengkapnya tentang migrasi ke cabang platform Amazon Linux 2023 saat ini dan didukung penuh, lihat. Memigrasi aplikasi Elastic Beanstalk Linux Anda ke Amazon Linux 2023 atau Amazon Linux 2
Cabang GlassFish platform Docker yang telah dikonfigurasi sebelumnya yang berjalan di Amazon Linux AMI (AL1) tidak lagi didukung. Untuk memigrasikan GlassFish aplikasi Anda ke platform Amazon Linux 2023 yang didukung, terapkan GlassFish dan kode aplikasi Anda ke image Amazon Linux 2023 Docker. Untuk informasi selengkapnya, lihat topik berikut, Menerapkan GlassFish aplikasi ke platform Docker: jalur migrasi ke Amazon Linux 2023.
Bagian ini menunjukkan kepada Anda cara mengembangkan aplikasi contoh secara lokal dan kemudian menerapkan aplikasi Anda ke Elastic Beanstalk dengan kontainer Docker yang telah dikonfigurasikan sebelumnya.
Siapkan lingkungan pengembangan lokal Anda
Untuk walk-through ini kita menggunakan aplikasi GlassFish contoh.
Menyiapkan lingkungan Anda
-
Buat folder baru untuk aplikasi contoh.
~$
mkdir eb-preconf-example
~$cd eb-preconf-example
-
undung contoh kode aplikasi ke dalam folder baru.
~$
wget https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/samples/docker-glassfish-v1.zip
~$unzip docker-glassfish-v1.zip
~$rm docker-glassfish-v1.zip
Mengembangkan dan menguji secara lokal
Untuk mengembangkan GlassFish aplikasi contoh
-
Tambahkan
Dockerfile
ke folder akar aplikasi Anda. Dalam file, tentukan image dasar AWS Elastic Beanstalk Docker yang akan digunakan untuk menjalankan container Docker lokal Anda yang telah dikonfigurasi sebelumnya. Anda nantinya akan menerapkan aplikasi Anda ke versi platform Docker Elastic GlassFish Beanstalk Preconfigured. Pilih gambar dasar Docker yang menggunakan versi platform ini. Untuk mengetahui gambar Docker saat ini dari versi platform, lihatDocker yang dikonfigurasi sebelumnya Bagian dari AWS Elastic Beanstalk Platform yang Didukung halaman di AWS Elastic Beanstalk Platform Panduan.contoh b-preconf-example~/E/Dockerfile
# For Glassfish 5.0 Java 8 FROM amazon/aws-eb-glassfish:5.0-al-onbuild-2.11.1
Untuk informasi lebih lanjut tentang cara menggunakan
Dockerfile
dan , lihat Mempersiapkan image Docker Anda untuk penyebaran ke Elastic Beanstalk. -
membuat gambar Docker.
~/eb-preconf-example$
docker build -t my-app-image .
-
Jalankan kontainer Docker dari gambar.
catatan
Anda harus menyertakan bendera
-p
untuk memetakan port 8080 pada kontainer ke port localhost 3000. Elastic Beanstalk Docker kontainer selalu mengekspos aplikasi pada port 8080 pada kontainer. Bendera-it
menjalankan gambar sebagai proses interaktif. Bendera--rm
membersihkan sistem file kontainer ketika kontainer itu keluar. Anda dapat secara opsional menyertakan-d
untuk menjalankan gambar sebagai daemon.$
docker run -it --rm -p 3000:8080 my-app-image
-
Untuk melihat contoh aplikasi, ketik berikut ini URL ke browser web Anda.
http://localhost:3000
Men-deploy ke Elastic Beanstalk
Setelah menguji aplikasi Anda, Anda siap untuk menerapkan ke Elastic Beanstalk.
Untuk menerapkan aplikasi Anda ke Elastic Beanstalk
-
Dalam folder akar aplikasi Anda, mengubah nama
Dockerfile
keDockerfile.local
. Langkah ini diperlukan agar Elastic Beanstalk dapatDockerfile
menggunakan yang berisi instruksi yang benar untuk Elastic Beanstalk untuk membuat gambar Docker yang disesuaikan pada setiap instans Amazon di lingkungan Elastic Beanstalk Anda. EC2catatan
Anda tidak perlu melakukan langkah ini jika
Dockerfile
milik anda menyertakan instruksi yang memodifikasi image Docker dasar versi platform. Anda tidak perlu menggunakanDockerfile
sama sekali jikaDockerfile
Anda hanya mencakup barisFROM
untuk menentukan gambar dasar dari yang untuk membangun kontainer. Dalam situasi itu,Dockerfile
adalah berlebihan. -
Buat bundel sumber aplikasi.
~/eb-preconf-example$
zip myapp.zip -r *
-
Untuk Platform, di bawah Dikonfigurasi sebelumnya — Docker, pilih Glassfish.
-
Untuk Kode aplikasi, pilihUnggah kode Anda, lalu pilihUpload.
-
Pilih File lokal, pilih Browse, dan kemudian buka bundel sumber aplikasi yang baru saja Anda buat.
-
Pilih Unggah.
-
Pilih Tinjau dan Luncurkan.
-
Tinjau pengaturan dan kemudian pilih Buat applikasi.
-
Ketika lingkungan dibuat, Anda dapat melihat aplikasi yang digunakan. Pilih lingkungan URL yang ditampilkan di bagian atas dasbor konsol.
Menerapkan GlassFish aplikasi ke platform Docker: jalur migrasi ke Amazon Linux 2023
Tujuan dari tutorial ini adalah untuk menyediakan pelanggan yang menggunakan GlassFish platform Docker yang telah dikonfigurasi sebelumnya (berdasarkan Amazon LinuxAMI) dengan jalur migrasi ke Amazon Linux 2023. Anda dapat memigrasikan GlassFish aplikasi Anda ke Amazon Linux 2023 dengan menerapkan GlassFish dan kode aplikasi Anda ke image Amazon Linux 2023 Docker.
Tutorial memandu Anda menggunakan platform AWS Elastic Beanstalk Docker untuk menyebarkan aplikasi berdasarkan server GlassFish aplikasi Java EE
Kami menunjukkan dua pendekatan untuk membangun gambar Docker:
-
Sederhana - Berikan kode sumber GlassFish aplikasi Anda dan biarkan Elastic Beanstalk membangun dan menjalankan image Docker sebagai bagian dari penyediaan lingkungan Anda. Ini mudah disiapkan, dengan biaya waktu penyediaan instans yang meningkat..
-
Lanjutan— Buat gambar Docker kustom yang berisi kode aplikasi dan dependensi Anda, dan berikan ke Elastic Beanstalk untuk digunakan di lingkungan Anda. Pendekatan ini sedikit lebih terlibat, dan mengurangi waktu penyediaan contoh di lingkungan Anda.
Prasyarat
Tutorial ini mengasumsikan bahwa Anda memiliki pengetahuan tentang operasi Elastic Beanstalk dasar, antarmuka baris perintah Elastic Beanstalk (EB), dan Docker. CLI Jika belum, ikuti petunjuk di Memulai dengan Elastic Beanstalk untuk meluncurkan lingkungan Elastic Beanstalk pertama Anda. Tutorial ini menggunakan EB CLI, tetapi Anda juga dapat membuat lingkungan dan mengunggah aplikasi dengan menggunakan konsol Elastic Beanstalk.
Untuk mengikuti tutorial ini, Anda juga akan membutuhkan komponen Docker berikut:
-
Instalasi lokal Docker yang berfungsi. Untuk informasi lebih lanjut, lihat Dapatkan Docker
di situs web dokumentasi Docker. -
Akses ke Docker Hub. Anda harus membuat Docker ID untuk mengakses Docker Hub. Untuk informasi lebih lanjut, lihat Bagikan aplikasi
di situs web dokumentasi Docker.
Untuk mempelajari lebih lanjut tentang mengkonfigurasi lingkungan Docker pada platform Elastic Beanstalk, lihat Mempersiapkan image Docker Anda untuk penyebaran ke Elastic Beanstalk dalam bab yang sama ini.
Contoh sederhana: berikan kode aplikasi Anda
Ini adalah cara mudah untuk menyebarkan GlassFish aplikasi Anda. Anda memberikan kode sumber aplikasi Anda bersama dengan Dockerfile
Termasuk dalam tutorial ini. Elastic Beanstalk membangun gambar Docker yang mencakup aplikasi Anda dan tumpukan perangkat lunak. GlassFish Kemudian Elastic Beanstalk menjalankan gambar pada contoh lingkungan Anda.
Masalah dengan pendekatan ini adalah bahwa Elastic Beanstalk menggambar Docker lokal setiap kali menciptakan sebuah contoh untuk lingkungan Anda. Pembuatan gambar meningkatkan waktu penyediaan instans. Dampak ini tidak terbatas pada pembuatan lingkungan awal—hal ini juga terjadi selama tindakan skale-out.
Untuk meluncurkan lingkungan dengan contoh GlassFish aplikasi
-
Unduh contoh
docker-glassfish-al2-v1.zip
, dan kemudian perluas file.zip
ke dalam direktori di lingkungan pengembangan Anda.~$
curl https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/samples/docker-glassfish-al2-v1.zip --output docker-glassfish-al2-v1.zip
~$mkdir glassfish-example
~$cd glassfish-example
~/glassfish-example$unzip ../docker-glassfish-al2-v1.zip
Struktur direktori Anda harus sebagai berikut.
~/glassfish-example |-- Dockerfile |-- Dockerrun.aws.json |-- glassfish-start.sh |-- index.jsp |-- META-INF | |-- LICENSE.txt | |-- MANIFEST.MF | `-- NOTICE.txt |-- robots.txt `-- WEB-INF `-- web.xml
File - file berikut adalah kunci untuk membuat dan menjalankan kontainer Docker di lingkungan Anda:
-
Dockerfile
— Menyediakan instruksi yang Docker gunakan untuk membuat gambar dengan aplikasi Anda dan dependensi yang diperlukan. -
glassfish-start.sh
— Skrip shell yang dijalankan oleh image Docker untuk memulai aplikasi Anda. -
Dockerrun.aws.json
— Menyediakan kunci logging, untuk memasukkan log server GlassFish aplikasi dalam permintaan file log. Jika Anda tidak tertarik dengan GlassFish log, Anda dapat menghilangkan file ini.
-
-
Mengkonfigurasi direktori lokal Anda untuk diterapkan ke Elastic Beanstalk.
~/glassfish-example$
eb init -p docker
glassfish-example
-
(Opsional) Gunakan perintah eb local run untuk membuat dan menjalankan kontainer Anda secara lokal.
~/glassfish-example$
eb local run --port 8080
catatan
Untuk mempelajari lebih lanjut tentang eb local, perintah lihat eb local. Perintah tidak didukung pada Windows. Atau, Anda dapat membuat dan menjalankan kontainer Anda dengan perintah docker build dan docker run. Untuk informasi lebih lanjut, lihat Dokumentasi Docker
. -
(Opsional) Saat kontainer Anda berjalan, gunakan perintah eb local open untuk melihat aplikasi Anda di peramban web. Alternatif lainnya, buka http://localhost:8080/
di peramban web. ~/glassfish-example$
eb local open
-
Gunakan perintah eb create untuk menciptakan lingkungan dan menyebarkan aplikasi Anda.
~/glassfish-example$
eb create
glassfish-example-env
-
Setelah lingkungan Anda diluncurkan, gunakan perintah eb open untuk melihatnya di peramban web.
~/glassfish-example$
eb open
Ketika Anda selesai bekerja dengan contoh, akhiri lingkungan dan hapus sumber daya terkait.
~/glassfish-example$
eb terminate --all
Contoh lanjutan: berikan gambar docker yang sudah dibangun sebelumnya
Ini adalah cara yang lebih canggih untuk menyebarkan GlassFish aplikasi Anda. Berdasarkan contoh pertama, Anda membuat image Docker yang berisi kode aplikasi dan tumpukan GlassFish perangkat lunak, dan mendorongnya ke Docker Hub. Setelah Anda melakukan langkah satu kali ini, Anda dapat meluncurkan lingkungan Elastic Beanstalk berdasarkan gambar kustom Anda.
Ketika Anda meluncurkan lingkungan dan memberikan gambar Docker Anda, misalnya di lingkungan Anda mengunduh dan gunakan gambar ini secara langsung dan tidak perlu untuk membangun gambar Docker. Oleh karena itu, waktu penyediaan instance berkurang.
Catatan
Langkah-langkah berikut membuat gambar Docker yang tersedia untuk umum.
Anda akan menggunakan perintah Docker dari instalasi Docker lokal Anda, bersamaan dengan mandat Docker Hub Anda. Untuk informasi selengkapnya, lihat bagian Prasyarat sebelumnya dalam topik ini.
Untuk meluncurkan lingkungan dengan image Docker GlassFish aplikasi bawaan
-
Unduh dan perluas contoh
docker-glassfish-al2-v1.zip
seperti pada contoh sederhanasebelumnya. Jika Anda telah menyelesaikan contoh tersebut, Anda dapat menggunakan direktori yang sudah Anda miliki. -
Membuat gambar Docker dan Mendorong ke Docker Hub. Masukkan ID Docker Anda untuk
docker-id
untuk masuk ke Docker Hub.~/glassfish-example$
docker build -t
~/glassfish-example$docker-id
/beanstalk-glassfish-example:latest .docker push
docker-id
/beanstalk-glassfish-example:latestcatatan
Sebelum mendorong gambar, Anda mungkin harus menjalankan docker login. Anda akan diminta untuk kredensial Docker Hub Anda jika Anda menjalankan perintah tanpa parameter.
-
Membuat direktori tambahan.
~$
mkdir glassfish-prebuilt
~$cd glassfish-prebuilt
-
Menyalin contoh berikut ke dalam sebuah file bernama
Dockerrun.aws.json
.contoh
~/glassfish-prebuilt/Dockerrun.aws.json
{ "AWSEBDockerrunVersion": "1", "Image": { "Name": "
docker-username
/beanstalk-glassfish-example" }, "Ports": [ { "ContainerPort": 8080, "HostPort": 8080 } ], "Logging": "/usr/local/glassfish5/glassfish/domains/domain1/logs" } -
Mengkonfigurasi direktori lokal Anda untuk deployment ke Elastic Beanstalk.
~/glassfish-prebuilt$
eb init -p docker
glassfish-prebuilt$
-
(Opsional) Gunakan perintah eb local run untuk menjalankan kontainer Anda secara lokal.
~/glassfish-prebuilt$
eb local run --port 8080
-
(Opsional) Saat kontainer Anda berjalan, gunakan perintah eb local open untuk melihat aplikasi Anda di peramban web. Alternatif lainnya, buka http://localhost:8080/
di peramban web. ~/glassfish-prebuilt$
eb local open
-
Gunakan perintah eb create untuk membuat lingkungan dan menyebarkan gambar Docker Anda.
~/glassfish-prebuilt$
eb create
glassfish-prebuilt-env
-
Setelah lingkungan Anda diluncurkan, gunakan perintah eb open untuk melihatnya di peramban web.
~/glassfish-prebuilt$
eb open
Ketika Anda selesai bekerja dengan contoh, akhiri lingkungan dan hapus sumber daya terkait.
~/glassfish-prebuilt$
eb terminate --all