Docker image adalah semacam template yang berisi software-software yang telah di install sebelumnya. Template ini tidak bisa diubah waktu sudah dibuat, tetapi bisa di update dengan rebuild ulang.
Untuk membuat docker image, kita memerlukan docker yang sudah berjalan di komputer anda, akses internet, dan file dengan nama Dockerfile. Walaupun Dockerfile bisa menggunakan apa saja, tetapi sangat direkomendasikan tetap menggunakan nama tersebut agar konsisten.
Sebagai contoh kita akan membuat docker yang berisi MariaDB, pertama buat folder baru belajar-docker
mkdir belajar-docker
didalam folder tersebut buat file Dockerfile dengan isi
FROM debian:latest RUN apt-get update RUN apt-get install -y nginx EXPOSE 80 CMD ["/usr/sbin/nginx", "-g", "daemon off;"]
debian:latest adalah image yang kita gunakan, diambil dari https://hub.docker.com/_/debian
RUN berguna untuk menjalankan perintah sewaktu build image docker.
EXPOSE port yang dibuka oleh image tersebut, pada contoh kita menggunakan 80, karena nginx berjalan di port tersebut.
CMD perintah yang dijalankan ketika image dijalankan, dengan kata lain menjalankan nginx
lalu build dengan
docker build .
Jalankan Docker
Setelah build lihat pada bagian
Successfully built 134508307080
134508307080 adalah id dari docker yang dibuild.
Sebagai contoh kita akan mapping port 80 ke port 8080 di komputer
docker run -p 8080:80 134508307080
cek dengan curl
curl localhost:8080
atau langsung dari browser http://localhost:8080
Build Docker dengan Tag
Bila ingin mengupload docker image ke hub.docker.com, gunakan tag sewaktu build docker, biasanya digunakan format username/project
docker build . -t jaranguda/nginx:latest
login ke hub.docker.com
docker login
lalu upload docker image tersebut
docker push jaranguda/nginx:latest