DOCKER IMAGE
Apa itu docker image
Docker adalah aplikasi open source untuk menyatukan file-file yang dibutuhkan sebuah software sehingga menjadi menjadi satu kesatuan yang lengkap dab berfungsi. Data pengaturan dan file pendukung disebut sebagai image. Selanjutnya kumpulan image digabung dalam satu wadah yang disebut Container.
Docker Image adalah sebuah kumpulan root file system dan execution parameter atau command yang digunakan dalam container runtime. Terdiri dari app binaries, dependencies, metada data dan minimum OS
· File – App binaries dan dependencies yang telah kita develop
· Metadata – Informasi detail mengenai image dan bagaimana cara menjalankanya
· Minimum OS – Hanya mengandung binaries OS yang dibutuhkan saja
Image Repository – Docker Hub
Official Docker Image Repository, Docker Hub adalah salah satu cloud service untuk mencari, mendownload dan mengupload docker image. Pertama kita akan membuat akun docker hub https://hub.docker.com/ agar bisa mengupload image ke docker hub, diperlukan login di terminal/command prompt, Untuk login pada docker kita cukup ketikan sintak di bawah ini pada terminal kita.
Bagaimana Mencari Docker Image Yang Baik?
1. Gunakan menu explorer
Kunjungi https://hub.docker.com/search?q=&type=image dancari image yang kita inginkan, misalkan nginx
Official image first
Gunakan image yang official, lalu Lihat jumlah download dan star, semakin besar semakin bagus dan juga Lihat latest modified, semakin baru semakin bagus
2. Image tag
Pilihlah image tag yang sesuai pada Best practice, untuk development gunakan latest tag, untuk production gunakan spesifik tag
3. Pilih base image OS
Pilih base image OS sesuai dengan kebutuhan, jika memungkinkan, pilihlah image OS yang paling kecil, misalkan alpine
Download image
Cukup dengan menjalankan command pada terminal
Melihat Image yang ada di local Komputer
Cukup dengan menjalankan command pada terminal
Membuat tag
Apa itu Dockerfile dan bagaimana code nya?
Dockerfile adalah file yang perlu kita buat dan berisi mengenai code-code atau command yang perlu dijalankan supaya bisa mem-build dan me-run image
1. FROM
Ini adalah base image OS, Bisa menggunakan speisifk tag : https://hub.docker.com/_/nginx
2. RUN
Setiap menjalankan command line, awalai dengan RUN, RUN adalah arbitrary shell command
3. EXPOSE dan ENV
EXPOSE digunakan untuk open port pada virtual network, sehingga bisa di baca oleh Host OS. ENV digunakan untuk men-setting environtment variable
4. CMD
Command yang akan dijalankan ketika menjalankan docker container
Bagaimana Cara Membuat Docker File
1. Kita akan membuat custome nginx image melalui Dockerfile
2. Buat folder baru dengan nama custom-nginx
3. Create docker file – custom-nginx/Dockerfile
Ketik code dibawah ini
Sekarang jalankan command untuk mem-build custom nginx image
Secara default docker akan membaca file Dockerfile, kita bisa membuat custom docker file name, misalkan kita membuat dockerfile dengan nama custom-nginx/DockerfileCustom Untuk mem-build nya gunakan command ini:
docker image build –f DockerfileCustom -t custom-nginx
9. Untuk pertama kali build, kalua image FROM nya belum ada di local maka akan mendownload dulu dari Docker Hub
10. Docker akan meng-cache FROM base image command-command yang dijalankan, sehingga ketika melakukan build selanjutnya akan menjadi lebih cepat.Untuk melihat image yang sudah di build gunakan command docker image ls
Membuat Web App Image
1. Kita akan membuat dan menjalankan web app dengan menggunakan docker
2. Buat folder baru dengan nama nginx-web-app
3. Create file Dockerfile dan Index.html , disini saya menambahkan stylenya juga
Build image: docker image build -t nginx-web-app .
Pada browser buka http://localhost atau http://127.0.0.1
halaman tersebut akan berisi file index.html
9. Buat image tag untuk persiapan push: docker image tag nginx-webapp:latest frs12/nginx-web- app:latest
Push image ke dokcer hub: docker image push nginx-web-app:latest Dockerize Lumen App
Kita akan membuat dan menjalankan lume app dengan menggunakan docker
Buat project baru
Create file Dockerfile
Lalu Build image
Lihat image yang barusan dibuild: docker image ls
Run container dan Pada browser buka http://localhost:8000/
Menyiapkan tagging untuk push\
docker image tag lumen-app:latest <username>/lumen-app:latest
Push image ke dokcer hub
Komentar
Posting Komentar