Melanjutkan jurnal sebelumnya, bisa dibaca disini Dockerfile Directives: RUN Order of Execution. Pada jurnal ini akan dibahas mengenai Dockerfile Directives: ENV.

Pertama, buat sebuah direktori baru di direktori Builds, lalu salin file Dockerfile dari lab sebelumnya :

Screenshot from 2018-07-02 11-40-52

Isikan dengan :

# Image Menggunakan Non Priviled User di CentOS 7

FROM centos:latest
MAINTAINER miss

RUN useradd -ms /bin/bash miss

RUN echo "EXPORT 172.16.0.0/24" >> /etc/exports.list

RUN yum update -y
RUN yum install -y net-tools wget
RUN cd ~ && wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/10.0.1+10/fb4372174a714e6b8c52526dc134031e/jdk-10.0.1_linux-x64_bin.rpm"

RUN yum localinstall -y ~/jdk-10.0.1_linux-x64_bin.rpm

USER miss

Screenshot from 2018-07-02 13-54-19.png

Note : Versi Java bisa saja berubah. Disini saya menggunakan Java 10.

Ok, disini kita pakai centos7:latest. Jika sebelumnya belum ada di base image, bisa unduh terlebih dahulu :

$ docker pull centos7:latest

Screenshot from 2018-07-02 12-15-39.png

Lalu build container baru menggunakan file Dockerfile tadi :

$ docker build -t centos7/java10:v1 .

Screenshot from 2018-07-02 13-58-47.png

Lihat base images :

$ docker images

Screenshot from 2018-07-02 14-02-31.png

Jalankan sebuah container baru dengan base image centos7/java10:v1

$ docker run -it centos7/java10:v1 /bin/bash

Screenshot from 2018-07-02 14-05-04.png

Jalankan perintah berikut dan lihat dibaris paling bawah :

$ env

Screenshot from 2018-07-02 14-06-20.png

Selanjutnya, sesuai topik utama di jurnal yaitu ENV, di dalam Dockerfile tambahkan baris :

RUN cd ~ && echo "export JAVA_HOME=/usr/java/jdk-10.0.1/jre" >> /home/miss/.bashrc

ENV JAVA_BIN /usr/java/jdk-10.0.1/bin

Screenshot from 2018-07-02 13-26-47.png

Lalu build image baru bernama centos7/java10:v2

$ docker build -t centos7/java10:v2 .

Screenshot from 2018-07-02 14-13-08.png

Lihat base images :

$ docker images

Screenshot from 2018-07-02 14-02-00.png

Jalankan container baru menggunakan base image centos7/java10:v2 :

$ docker run -it centos7/java10:v2 /bin/bash

Screenshot from 2018-07-02 13-33-42.png

Dan jalankan ulang perintah env dan lihat dibaris paling bawah :

Screenshot from 2018-07-02 13-34-33.png

Ada perbedaanya?

 

 

Sekian:)