Cara Membangun Gambar Docker dengan Dockerfile (Langkah demi Langkah)

Halo Teknisi, dalam artikel kami sebelumnya, kami telah mempelajari cara Menginstal Docker di CentOS 8 / RHEL 8 dan Docker di Ubuntu 20.04. Ada ribuan gambar buruh pelabuhan yang tersedia di registri hub buruh pelabuhan yang dapat dengan mudah kita tarik dan putar wadah menggunakan gambar-gambar itu.

Tetapi ada beberapa keadaan dan kasus penggunaan yang kami ingin buat beberapa konfigurasi atau perubahan pada gambar buruh pelabuhan dan perubahan itu harus ada setiap kali kami menjalankan wadah. Ini dapat dicapai dengan membangun gambar buruh pelabuhan dengan Dockerfile.

Dockerfile adalah file teks yang berisi kata kunci dan kumpulan perintah Linux yang dijalankan secara otomatis setiap kali kita membangun Gambar Docker. Membuat gambar buruh pelabuhan menggunakan Dockerfile mirip dengan konsep template dunia virtualisasi.

Dalam posting ini, kita akan membahas cara membangun gambar buruh pelabuhan dari Dockerfile langkah demi langkah. Mari kita asumsikan kita ingin membangun image buruh pelabuhan Jboss EAP. Beberapa Kata Kunci yang umumnya digunakan dalam file Docker tercantum di bawah ini:
FROM
From kata kunci menentukan nama gambar yang akan digunakan sebagai gambar dasar saat membangun Gambar Docker, perintah Docker akan mencari gambar ini secara lokal dan jika tidak ditemukan di lokal registry maka ia akan mencoba untuk mengambilnya dari docker hub registry.

Contoh:
FROM  jboss-eap:7

MAINTAINER
Nama komunitas atau pemilik yang memelihara gambar buruh pelabuhan ditentukan di bawah Kata Kunci MAINTAINER.

Contoh:
MAINTAINER Kata kunci Linuxtechi akan dieksekusi setelah RCommpreRUNnbs yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy, pembuatan Docker image

Contoh :
RUN  apt-get update RUN apt-get install apache2 -y RUN echo ‘Web site Hosted inside a container’ > /var/ww/html/index.html RUN echo ‘apache2ctl start’ >> /root/ .bashrc

WORKDIR
WORKDIR digunakan untuk mendefinisikan direktori kerja wadah untuk mengeksekusi instruksi COPY, ADD, RUN, CMD dan ENTRYPOINT.

Contoh:
WORKDIR /opt

CMDn bspCommands yang disebutkan setelah kata kunci CMD akan dieksekusi ketika sebuah wadah diluncurkan (dijalankan) dari seorang buruh pelabuhan image

Contoh:
CMD /bin/bash CMD wget {url}

Setiap kali kita menggunakan beberapa kata kunci CMD maka yang terbaru akan mendapatkan preferensi. Jika anda perhatikan ketika kita menjalankan sebuah container kita mendapatkan bash shell, karena kata kunci CMD (CMD /bin/bash).
ENTRYPOINT
ENTRYPOINT mirip dengan CMD, Perintah setelah entrypoint akan mengambil argumen dari CMD atau dengan kata lain kita dapat mengatakan bahwa CMD adalah argumen untuk ENTRYPOINT. Perintah di ENTRYPOINT akan selalu dieksekusi.

Contoh:
ENTRYPIONT [“curl”] CMD [“www.google.com”]

ENV
Dengan kata kunci ENV kita dapat mengatur variabel lingkungan atau shell sesuai kebutuhan, misalkan saya ingin membangun gambar Docker tempat saya akan menginstal java dan perlu mengatur jalur JAVA, ini dapat dicapai dengan menggunakan kata kunci ENV.

Contoh:
ENV JAVA_HOME= /usr/jdk/jdk{version}

VOLUME
Dengan kata kunci VOLUME kita dapat melampirkan folder dari Host Docker ke container.

Contoh:
VOLUME  /opt/storage  /data

EXPOSE
Dengan kata kunci EXPOSE, kita dapat mengekspos port aplikasi dari container

Contoh:
EXPOSE 8080

COPY
Menggunakan kata kunci COPY, kita dapat menyalin file dari docker dost ke container.

n-7addbsp2.0Contoh:
COPY kata kunci hampir mirip dengan COPY. ADD mendukung dua fitur tambahan seperti kita dapat menggunakan URL alih-alih file atau direktori lokal dan file tar dapat diekstraksi dari sumber langsung ke tujuan.

Contoh:
ADD ./jdk-10.0.2.1-linux-x64_bin.tar.gz /usr/local /

Catatan: Untuk melihat kata kunci dan perintah yang digunakan untuk membangun gambar buruh pelabuhan gunakan perintah “sejarah buruh pelabuhan”. Mari kita lihat kata kunci dan perintah dari gambar buruh pelabuhan mariadb:latest
$ riwayat buruh pelabuhan mariadb:latest

 

Pada output di atas jika kata kunci tidak disebutkan dalam perintah maka perintah ini akan dieksekusi di RUN kata kunci.

Mari langsung ke langkah-langkah untuk membangun buruh pelabuhan gambar dengan Dockerfile. Seperti yang telah kami nyatakan di atas, kami akan membangun Jboss-eap docker image.

1) Buat Dockerfile

Pertama-tama buat folder dengan nama mycode di bawah direktori home pengguna dan kemudian buat Dockerfile.
$ mkdir mycode $ cd mycode/ $ sentuh Dockerfile

Catatan : Nama file docker harus “Dockerfile”, jika kita tidak mengikuti konvensi ini, perintah build docker kita tidak akan bekerja.

2) Tambahkan Kata Kunci dan Perintah ke Dockerfile

Buka Dockerfile dengan editor vi dan tambahkan kata kunci berikut

$ vi Dockerfile
FROM jboss-eap: 7 JALANKAN mkdir -p /opt/jboss COPY ./jboss-eap-7.2.0.zip /opt/jboss/ ENV JBOSS_HOME=/opt/jboss/jboss-eap-7.2 WORKDIR /opt/jboss/ JALANKAN unzip -qq jboss -eap-7.2.0.zip RUN $JBOSS_HOME/bin/add-user.sh admin [dilindungi email]# –silent EXPOSE 8080 9990 9999 ENTRYPOINT [“/opt/jboss/jboss-eap-7.2/bin/standalone. sh”, “-b”, “0.0.0.0”, “-bmanagement”, “0.0.0.0”]

Simpan dan keluar dari file.

Catatan: Jangan lupa letakkan ‘jboss-eap-7.2.0.zi p’ di direktori mycode. Zip ini dapat diunduh dari url di bawah ini:

https://developers.redhat.com/content-gateway/file/jboss-eap-7.2.0.zip

3) Bangun gambar dengan perintah ‘docker build’

Dari folder mycode, jalankan docker di bawah perintah build, opsi -t digunakan untuk mengatur nama tag gambar buruh pelabuhan. Pada contoh di bawah ini, saya menetapkan tag sebagai “jboss-eap:v1”
$ docker build -t jboss-eap:v1 .

Hebat, output di atas mengonfirmasi bahwa gambar buruh pelabuhan telah berhasil dibuat. Pada langkah berikutnya, coba jalankan top run jboss container menggunakan build baru docker image.

4) Verifikasi dan Uji Docker Image

Pertama-tama mari kita lihat apakah image docker build baru tersedia di repositori image lokal, jalankan command
$ docker images

 

Sekarang jalankan container menggunakan docker image ‘ jboss-eap:v1’

 
$ docker run -d -it –name=jboss-eap -P jboss-eap:v1 $ docker ps

Sekarang akses aplikasi jboss menggunakan url berikut:

http://:49154

nama pengguna yang sama dan itu yang kami definisikan di Dockerfile saat membangun docker image.

Itu saja dari posting ini. Saya harap Anda telah menemukannya informatif. Silakan  bagikan pertanyaan dan masukan Anda di bagian komentar di bawah.