Docker Image
Apa itu Docker Image?
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.
2. Metadata – Informasi detail mengenai
image dan bagaimana cara
menjalankanya.
3. Minimum OS – Hanya
mengandung binaries OS yang
dibutuhkan saja.
Bagaimana mencari Docker Image yg bagus?
- Gunakan menu explorer
• Kunjungi https://hub.docker.com/search?q=&type=image
• Search image yang kita inginkan, misalkan nginx - Official image first
• Gunakan image yang official
• Lihat jumlah download dan star, semakin besar semakin bagus
• Lihat latest modified, semakin baru semakin bagus - Image tag
• Pilihlah image tag yang sesuai
• Best practice, untuk development gunakan latest tag, untuk
production gunakan spesifik tag - Pilih base image OS
Pilih base image OS sesuai dengan
kebutuhan
• Kalau memuungkinkan, pilihlah image OS
yang paling kecil, misalkan alpine
Apa itu Dockerfile dan bagaimana codenya?
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
- From
Ini adalah base image OS
• Bisa menggunakan speisifk tag
• https://hub.docker.com/_/nginx - Run
• Setiap menjalankan command line, awalai dengan RUN
• RUN adalah arbitrary shell command - Expose & ENV
• EXPOSE digunakan untuk open port pada virtual network, sehingga bisa di baca oleh Host OS
• ENV digunakan untuk men-setting environtment variable - CMD
• Command yang akan dijalankan ketika
menjalankan docker container
Membuat Dockerfile
- Kita akan membuat custome nginx image melalui Dockerfile
- Buat folder baru dengan nama custom-nginx
- Create docker file – custom-nginx/Dockerfile
- Ketika code dibawah ini
- Sekarang jalankan command untuk mem-build custom nginx image
- docker image build -t custom-nginx
- Code tersebut akan membuat image dengan nama custom-nginx:latest
berdasarakan pada file custom-nginx/Dockerfile - Kita juga bisa memberikan tag dengan menjalankan command docker
image build -t custom-nginx:0.0.1 - 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 - Untuk pertama kali build, kalua image FROM nya belum ada di local
maka akan mendownload dulu dari Docker Hub - 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
- Kita akan membuat dan menjalankan web app dengan menggunakan
docker - Buat folder baru dengan nama nginx-web-app
- Create file Dockerfile dan Index.html
- Build image: docker image build -t nginx-web-app .
- Lihat image yang barusan dibuild: docker image ls
- Run container: docker container run -p 80:80 –rm nginx-web-app
- Pada browser buka http://localhost
- Halaman tersebut akan berisi file index.html
- Buat image tag untuk persiapan push: docker image tag nginx-webapp:latest ramdanwh/nginx-web-app:latest
- Push image ke dokcer hub: docker image push nginx-web-app:latest
Tidak ada komentar:
Posting Komentar