V
irtual machine VS Container (docker.com)
1. Docker Images
2. Docker Container
Docker container sendiri merupakan sebuah image yang dapat
dikemas dan dibaca tulis, container berjalan diatas image. Pada setiap
perubahan yang disimpan pada container akan menyebabkan terbentuknya
layer baru di atas base image. Kita dapat melakukan instalasi aplikasi
didalamnya dan melakukan penyimpanan.
3. Docker Registry
4. Dockerfile
Saat ini docker hanya berjalan pada Linux, tapi kita juga bisa
menggunakan dan menjalankannya di Windows mapaun Mac OS X dengan
memanfaatkan dan menggunakan boot2docker , kedepannya akan lebih
mudah lagi dalam menginstalnya, anda dapat menggunakan kitematic.
Perintah-perintah docker
docker info
docker images
Menyetop container
Start container
docker ps
Dockerfile sendiri adalah merupakan skrip yang berisi atau terdiri dari
serangkaian perintah, intruksi (argumen) yang akan dieksekusi secara
otomatisasi dan berurutan untuk membangun sebuah image. Jadi akan
mempermudah kita untuk tidak selalu mengetikkan perintah setiap kali kita
akan menjalankan container.
1. Dockerfile Commands
ADD
Perintah ADD digunakan untuk mengcopy file dari suatu direktori ke direktori
tujuan.
Jika direktori asal adalah sebuah URL, perintah add akan mendownloadnya
dan menempatkannya ke direktori tujuan.
CMD
Perintah CMD hampir sama dengan perintah RUN, CMD digunakan untuk
mengeksekusi perintah yang lebih spesifik, seperti pada saat proses
pembuatan container pada image.
ENTRYPOINT
ENTRYPOINT adalah argumen untuk mengeset default aplikasi yang
digunakan setiap kali sebuah container dibuat menggunakan image.
ENV
ENV digunakan untuk mengeset environment variables.
FROM
FROM argument mendefinisikan sebuah base image yang akan digunakan
untuk memulai membangun proses pada setiap docker image apakah itu di
repositori ataupun di host kita sendiri.
WORKDIR
WORKDIR direktif digunakan untuk mengatur di mana perintah didefinisikan
dengan CMD yang akan dieksekusi.
RUN
RUN adalah perintah yang digunakan untuk membangun docker images
yang terpusat untuk mengeksekusi Dockerfiles.
MAINTAINER
MAINTAINER adalah perintah yang tidak dijalankan tetapi di deklarasikan
sebagai author field dari images.
USER
USER direktif digunakan untuk mengatur UID (atau nama pengguna) yang
menjalankan sebuah container berdasarkan dari image yang sedang
dibangun.
VOLUME
Perintah VOLUME digunakan untuk mengaktifkan akses dari kontainer kita ke
direktori pada mesin host.
EXPOSE
Perintah EXPOSE digunakan untuk menghubungkan port tertentu untuk
mengaktifkan network antara proses yang berjalan di dalam container dan
mesin host.
Membuat Dockerfile dan Build Image
vi Dockerfile
# Install Nginx.
RUN \
add-apt-repository -y ppa:nginx/stable && \
apt-get update && \
apt-get install -y nginx && \
rm -rf /var/lib/apt/lists/* && \
echo \ndaemon off; >> /etc/nginx/nginx.conf && \
chown -R www-data:www-data /var/lib/nginx
docker images
Dengan menggunakan image yang barusan kita build, kita akan membuat
sebuah container yang berjalan didalam instance web server Nginx. Jalankan
perintah berikut
Kita telah berhasil membuat container Nginx dan memforwardnya ke port 80.
Untuk mengeceknya bisa menggunakan docker ps -a
docker ps -a
curl localhost
Sukses, container Nginx web server telah berjalan base image ubuntu, atau
coba buka browser.
untuk menyetop container yang berjalan kita tinggal mengetikkan docker
stop <container id> ,
Referensi:
Docker.com
CIO.com