Aplikasi yang dikembangkan adalah satu dari CRUD Javaweb dengan Tomcat dan Postgres.
Kami hanya menggunakan entitas satu orang sebagai domain.
Ini adalah aplikasi sederhana untuk penggunaan didaktik, jadi mereka tidak ditangani
Konsep keamanan dan validasi data misalnya.
Kami hanya fokus pada membuat wadah aplikasi Java dan wadah untuk
Database Aplikasi dengan Docker.
Dikandung untuk penyelesaian aktivitas disiplin POS
Analisis Sistem dan Kursus Pengembangan
CAJAZERIAS KAMPU IFPB
Disiplin Profesor Ricardo Job
Pertama -tama dapatkan Docker 
Unduh Docker
Tetapi karena kami menggunakan Docker untuk penempatan, Anda hanya dapat menggunakan satu editor teks seperti Sublime atau Notepad ++ ...





Jika Anda menyukai gaya membiarkan IDE membantu Anda menyelesaikan kode, Anda dapat menggunakan NetBeans atau Eclipse. 

Dockerfile dari database Di dalam proyek Anda, buat direktori dengan nama postgres , dan di dalam membuat file Dockerfile bernama, bersama dengan dua file create.sql dan insert.sql lagi, kami akan membicarakannya dan kontennya segera.
File DockerFile memiliki konten berikut:
Dari Postgres
Env postgres_user Postgres
Env postgres_password 12345
Env postgres_db post-klien
Salin create.sql /docker-entrypoint-initdb.d/
Salin insert.sql /docker-entrypoint-initdb.d/
Seperti yang kami sadari dalam file di atas, kami sedang menyiapkan postgres
menunjukkan pengguna, kata sandi dan nama bank yang akan dibuat untuk menerima data
Aplikasi.
Dalam dua baris terakhir kami memberi tahu Docker, yang setelah membuat database
Itu harus membaca isi dari dua file create.sql yang akan membuat tabel dan insert.sql
yang akan dimasukkan ke dalam bank pasca-klien.
Tidak sensasional?
Buat tabel Pessoa (
ID serial,
Nama karakter bervariasi (80) bukan nol,
Karakter CPF bervariasi (14) bukan nol,
Kunci utama (ID)
);
Sisipkan ke orang (nama, CPF) nilai ('kiko', '123.132.121-31');
Sisipkan ke orang (nama, CPF) nilai ('tombol', '123.132.121-31');
Masukkan ke orang (nama, cpf) nilai ('chiquinha', '123.132.121-31');
Masukkan ke orang (nama, CPF) nilai ('madruga', '123.132.121-31');
Sisipkan ke orang (nama, CPF) nilai ('Florinda', '123.132.121-31');
docker build -t elefante/banco ./postgres
-t : Tag apa yang akan kami tetapkan untuk gambar ini
./postgres
* elefante/banco : nama gambar yang telah kami hubungkan
Setelah Anda menjalankan perintah di atas, jika Anda tidak memiliki gambar
Dari Postgres, Docker akan mengatur untuk Anda secara otomatis, tentu saja
Ini karena kami menggambarkan cara ini di Dockerfile.
docker image ls
atau
docker images
docker run -p 5433:5432 -d --name banco elefante/banco
-p : Bind di antara pintu host lokal dengan pintu kontainer -d : wadah akan dieksekusi di latar belakang yang tidak menghalangi terminal --name : Nama Container banco : Nama Kontainer
Di atas kami mengkonfigurasi pos dari postgres ke 5433, yang dalam hal ini adalah port
Bahwa saya mengonfigurasi dalam aplikasi Java saya, pintu setelahnya : adalah pintu wadah yang kami buat.
Dockerfile FROM tomcat
COPY target/Aplicacao.war ${CATALINA_HOME}/webapps
FROM : Katakan gambar apa yang kita butuhkan
COPY : Katakanlah cara dari tempat menyalin file .war untuk ditempatkan
${CATALINA_HOME}/webapps : tempat di mana kita akan menyimpan file yang mulia
File Dockerfile ini harus berada dalam direktori root proyek Anda.
Perlu dicatat bahwa Aplicacao nama adalah keuangan yang saya berikan untuk aplikasi tersebut
di dalam pom.xml.
Dengan nama inilah kita akan memanggil sistem di browser.
<build>
<finalName>Aplicacao</finalName>
</build>
Dan tentu saja di dalam folder WEB-INF kita harus memiliki direktori lain yang disebut lib
yang harus berisi perpustakaan jstl.jar dan standart.jar , jika tidak kita akan memiliki
Masalah saat meletakkan sistem kami di browser.
docker build -t imagem-da-aplicacao-java .
-t : Tag apa yang akan kami tetapkan untuk gambar ini
. : jalur relatif (atau absolut) ke file DockerFile
Setelah Anda menjalankan perintah di atas, jika Anda tidak memiliki gambar
Dari Tomcat, Docker akan mengatur untuk Anda secara otomatis, tentu saja,
Ini karena kami menggambarkan tindakan ini pada proyek Dockerfile yang dimaksud.
Dari Tomcat
Salin target/application.war $ {catalina_home}/webapps
docker image ls
atau
docker images
docker run -p 8080:8080 -d --name app --link banco:host-banco imagem-da-aplicacao-java
-p : Bind di antara pintu host lokal dengan pintu kontainer
-d : Wadah akan dieksekusi di latar belakang* tidak menghalangi terminal
--name : Nama wadah
--link : Bagi Docker untuk menautkan Bank of the Conteiner ke ubin host yang dirujuk dalam proyek Java kami di file dbutil.java
Sekarang buka browser untuk membuka proyek Anda: http: // localhost: 8080/aplikasi
Di atas kami mengonfigurasi port tomcat ke 8082 ingat?
Dalam kasus saya karena saya masih menggunakan Docker Toolbox di Windows saya membuka aplikasi di http://192.168.99.100:8080/application.war/
Untuk merampingkan proses pengembangan, kami akan membuat dua file .sh:
Run.sh
File run.sh harus berisi konten berikut:
Docker Build -t Elephant/Bank ./Postgres
Docker Run -P 5433: 5432 -D -DEname Bank Elephant/Bank
Paket Bersih MVN
Docker Build -t Image-of-the-Aja-Java.
Docker Run -P 8080: 8080 -D-BINGKUTAN APP-LINK: HOST-BANCO IMAGE-DA-A Aplikasi-Java
nonrun.sh
Aplikasi Stop Docker
Docker Kill App
Aplikasi RM Docker
Docker RMI -F Image-of-the-Application-Java
Docker Stop Bank
Docker Bunuh Bank
Docker RM Bank
Docker RMI -F Gajah/Bank
Jadi karena Anda sudah membuat gambar dan wadah yang dibuat,
Tidak perlu lagi mengetik perintah membuat gambar database setiap saat,
Buat wadah kontak, dan kemudian buat gambar aplikasi web, buat
Wadah setelah setiap pembaruan proyek Anda.
Cukup buka jenis di Docker:
Sh run.sh
Akan melakukan semuanya sekaligus:
Sh nonrun.sh
Akan melakukan semuanya sekaligus:
Docker akan menghentikan wadah aplikasi
Docker akan membunuh wadah
Hapus wadah aplikasi
Anda akan menghapus gambar dari aplikasi Docker
Docker akan menghentikan wadah Banco Elefante
Docker akan membunuh wadah
Lepaskan wadah bank
Hapus gambar bank
Maven akan membersihkan proyek

docker container ls
docker ps -a
docker stop <container_id | container_name>
Referensi Docker
Kami menggunakan git.