Sabtu, 31 Juli 2021

Docker Image

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.

  1. 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?

  1. Gunakan menu explorer
    • Kunjungi https://hub.docker.com/search?q=&type=image
    • Search image yang kita inginkan, misalkan nginx
  2. Official image first
    • Gunakan image yang official
    • Lihat jumlah download dan star, semakin besar semakin bagus
    • Lihat latest modified, semakin baru semakin bagus
  3. Image tag
    • Pilihlah image tag yang sesuai
    • Best practice, untuk development gunakan latest tag, untuk
    production gunakan spesifik tag
  4. 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

  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 & 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

Membuat Dockerfile

  1. Kita akan membuat custome nginx image melalui Dockerfile
  2. Buat folder baru dengan nama custom-nginx
  3. Create docker file – custom-nginx/Dockerfile
  4. Ketika code dibawah ini
  5. Sekarang jalankan command untuk mem-build custom nginx image
  6. docker image build -t custom-nginx
  7. Code tersebut akan membuat image dengan nama custom-nginx:latest
    berdasarakan pada file custom-nginx/Dockerfile
  8. Kita juga bisa memberikan tag dengan menjalankan command docker
    image build -t custom-nginx:0.0.1
  9. Secara default docker akan membaca file Dockerfile, kita bisa membuat
    custom docker file name, misalkan kita membuat dockerfile dengan
    nama custom-nginx/DockerfileCustom
  10. Untuk mem-build nya gunakan command ini: docker image build –f
    DockerfileCustom -t custom-nginx
  11. Untuk pertama kali build, kalua image FROM nya belum ada di local
    maka akan mendownload dulu dari Docker Hub
  12. Docker akan meng-cache FROM base image command-command yang
    dijalankan, sehingga ketika melakukan build selanjutnya akan menjadi
    lebih cepat
  13. 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
  4. Build image: docker image build -t nginx-web-app .
  5. Lihat image yang barusan dibuild: docker image ls
  6. Run container: docker container run -p 80:80 –rm nginx-web-app
  7. Pada browser buka http://localhost
  8. Halaman tersebut akan berisi file index.html
  9. Buat image tag untuk persiapan push: docker image tag nginx-webapp:latest ramdanwh/nginx-web-app:latest
  10. Push image ke dokcer hub: docker image push nginx-web-app:latest

Tidak ada komentar:

Posting Komentar

Multi Domain Setting

Multi Domain Setting Untuk memudahkan management file di server, perlu dibuatkan folder khusus untuk menyimpan file-file yang diperlukan dal...