Belajar Docker : Instalasi
dan Konfigurasi Docker di
Ubuntu 16.04
Tutorial Linux Indonesia
-- Docker sangat handal untuk
technology Container untuk
sekarang ini, sudah
banyak perusahaan besar
di dunia menggunakan
docker untuk layanan
Container.
Pada Artikel ini
admin bagol69 akan membahas tuntas
Docker.
Pada artikel
ini membahas instalasi
docker dan Konfigurasi
docker menggunakan system
operasi Ubuntu 16.04.
APA
ITU DOCKEER ??
Docker merupakan
sebuah projects open
source yang menyediakan platform
terbuka untuk developer
atau sysadmin.
Apa itu Docker? |
Untuk melakukan mengemas, membangun dan menjalankan aplikasi
dalam wadah (
container ) yang ringan.
Awal mula munculnya
docker berawal dari
Project internal di
Dotcloud salah satu perusahaan PaaS ( Platfrom As
Services ).
Di ciptakan oleh Solomon Hykes serta
di bantu oleh Andrea
Luzzardi dan Francois-Xavier
Bourliet.
Docker sangat mirip
dengan VM ( Virtual
Machine), tapi docker lebih
ringan.
Karena Docker
tidak membawa semua
system operasi seperti
Virtual Machine.
Tetapi docker
hanya berbagi system (
System Shared ) dengan host utamanya.
Perlu kita ketaui,
docker di lengkapi
dengan fitur sandbox
yang menjamin pengembang
atau sysadmin
tidak tergangu.
Sandbox merupakan
istilah computer dengan
mekanisme pemisahan aplikasi
atau program tanpa
mengangu host ( isolasi ).
Sanbox merupakan istilah
computer dengan mekanisme
pemisahan aplikasi atau
program tanpa mengangu
host lainya ( isolasi ).
Bagi pengembang, sandbox
menjamin aplikasi dapat
berjalan tanpa nganguan
dari perubahan lingkungan
host.
Sedangkan untuk sysadmin,
sandbox menjadmin host server
dapat berjalan tanpa nganguan
atau down time.
Dapat melakukan update
host server tanpa
mengangu host lainya.
Komponen
Docker
Komponen docker sangat
sederhana, karena docker menggunakan
mekanisme client dan server.
Cara Kerja Docker |
Secara sederhananya docker
client mengirimkan request
ke docker daemon untuk membangun, mendistribusikan dan menjalankan container
docker.
Kedua docker
client dan daemon dapat
berjalan pada system
yang sama.
Antara docker client dan
daemon berkomunikasi melalui
socket Restful API.
Docker sendiri memiliki
banyak komponen untuk
menjalankan tugas dan
proses.
Masing-masing
komponen docker saling
terkait untuk menjalankan
tugas dan proses docker
tersebut.
Baca Artikel
Install dan Konfigurasi NFS Server di Ubuntu 16.04
Install Memcached Ubuntu 16.04
Install dan Konfigurasi MongoDB di Ubuntu 16.04
Cara Install MariaDB di Ubuntu 16.04
Cara Install Mysql di Ubuntu 16.04
Berikut penjelasan singkat-singkat komponen
yang terdapat pada docker, sebagai berikut;
1. Docker Images
Docker Images yang
berupa template dasar
yang berisi system
operasi ( os
) atau aplikasi
yang telah siap
digunakan.
2. Docker Container
Docker Container merupakan
sebuah image yang
dapat di kemas dan
bersifat Read-Write. Container
berjalan di atas
base image.
Setiap perubahan container
akan terbentuk layer
baru di atas
base image.
Anda dapat melakukan
instalasi aplikasi dan
menyimpan aplikasi anda.
3. Docker Registry
Docker Registry merupakan
repository distribusi yang
berisi docker image
yang bersifat public atau
private.
Registry Docker di
sebut dengan docker
hub. Kita dapat
melakukan push image
atau pull image
milik kita sendiri.
4. Docker File
DockerFile merupakan skrip
otomasi yang berisi perintah ( Instruksi ) yang akan
di eksekusi secara berurutan
untuk membuat sebuah
image.
5. Repository
Docker juga memiiki repository yang mirip
di gunakan oleh Github
dan source control
system lainya.
6. Docker Index
Doker index berfungsi untuk mengatur
user account, permission
dan search pada
web interfaces pulic.
Instalasi Docker
Pada Ubuntu 16.04
Docker merupakan
project open source
yang telah memberikan
support banyak sistem
operasi.
Untuk system
operasi linux sudah banyak
support untuk docker seperti
Ubuntu, centos, debian,
redhat dan Open
Suse.
Ternyata windows
dan Mac OS
sudah support untuk
docker.
Pada bagian
ini, admin bagol69 belajar
bagaimana cara install
docker menggunakan system
operasi Ubuntu 16.04.
Packet instalasi
docker yang tersedia
di repository resmi
Ubuntu 16.04 mungkin
bukan versi terbaru
dan terbaik.
Lebih baik
install docker menggunakan
repository resmi dari
docker tersebut. Bagian
ini menunjukan kepada anda
bagaimana melakukan hal itu.
Pertama kita tambahkan kunci
GPG untuk repository Docker resmi ke sistem.
root@bagol69:~# curl -fsSL
https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add –
Kita tambahkan repository
resmi dari docker
ke system.
root@bagol69:~# add-apt-repository
"deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release
-cs) stable"
Setelah kita tambahkan repository dari
docker. Kita dapat
melakukan update system
menggunakan command di
bawah ini.
root@bagol69:~# apt-get update
Pastikan anda menginstall
docker bukan dari
repository default Ubuntu
16.04, tapi install docker
dari repository resmi
docker untuk mendapatkan versi
terbaru dan terbaik.
root@bagol69:~# apt-cache policy docker-ce
Kita install paket
docker menggunakan command
di bawah ini.
root@bagol69:~# apt-get install docker-ce
Setelah install paket
docker, kita dapat
aktifkan servis docker
menggunakan command di
bawah ini.
root@bagol69:~# systemctl start docker
root@bagol69:~# systemctl enable docker
root@bagol69:~# systemctl restart docker
root@bagol69:~# systemctl status docker
Untuk melaukan pengetesan docker yang
sudah kita install
sduah berhasil atau
belum.
Menambahkan user ke
dalam Group Docker
Secara default kita hanya
dapat akses menjalankan
perintah docker di
dalam user sudo
atau user root.
Jika kita ingin
mengunakan user lainya
untuk menggunakan perintah
docker.
Kita bisa menambahkan
user tersebut ke
dalam group docker.
root@bagol69:~# usermod –aG docker $User
Kita dapat menganti
$User dengan user yang
kita inginkan, seperti
command di bawah
ini.
root@bagol69:~# usermod –aG docker wwwbagol69com
USer yang bernama
wwwbagol69com sudah tergabung
dalam group docker
dan dapat menjalankan
perintah docker menggunakan
user wwwbagol69com.
Cara Mengaktifkan
Memory dan SWAP
Secara default docker tidak
dapat menggunakan memory
swap untuk menjalankan
container.
Untuk mengatasi hal tersebut
dengan sedikit konfigurasi
group untuk mengaktifkan
swap account.
Kemudian kita edit
file di bawah
ini untuk mengaktifkan
memory swap.
root@bagol69:~# nano /etc/default/grub
Edit bagian GRUB_CMDLINE_LINUX seperti command
di bawah ini.
GRUB_CMDLINE_LINUX="cgroup_enable=memoryswapaccount=1"
Jika sudah konfigurasi
di file group,
kita update menggunakan
command di bawah
ini.
root@bagol69:~# update-grub
Perintah Dasar
Docker
Sebelum sudah kita pelajari
cara install docker
di system operasi
Ubuntu 16.04.
Secara umum, docker
itu sangat mudah, asyik
dan seru untuk di
pelajarin.
Sebelum kita belajar
lebih jauh mengenai
docker, kita lebih
baik pelajari perintah
dasar docker dan
melakukan pengecekan system
telah berjalan docker
dengan baik.
Untuk mencari image
pada repository docker,
misalnya saya ingin
mencari images dari Ubuntu.
Kita dapat menggunakan
command di bawah
ini.
root@bagol69:~# docker
search ubuntu
Setelah mencari images yang
kita inginkan, kita dapat melakukan
download image tersebut
dari repository docker.
Silahkan ikutin command
di bawah ini
untuk mendownload images.
root@bagol69:~# docker
pull ubuntu
Untuk melihat image
yang sudah ada
di server kita,
dapat menggunakan command
di bawah ini.
root@bagol69:~# docker
images
REPOSITORY TAG IMAGE ID CREATED SIZE
localhost:5000/bagol321nugroho/dockerfile-hub latest d8fdfb033508 24 hours ago 1.16MB
bagol321nugroho/dokterfile-hub
latest d8fdfb033508 24 hours ago 1.16MB
bagol321nugroho/test-image-hub latest 294ebfa54cae 25 hours ago 101MB
bagol69-busy
latest 51ad9099b2f3 29 hours ago 1.16MB
Untuk menjalankan image
kita di server
untuk menjadi sebuah
container. Dapat menggunakan
command di bawah
ini.
root@bagol69:~# docker run
-it debian
root@b2113ad9f966:/# exit
exit
“Noted”
Dengan perintah di
atas, secara otomatis
langsung masuk ke
dalam container Ubuntu.
Untuk keluar dari
container Ubuntu, dapat
menggunakan perintah “exit”.
Untuk melihat container
yang sudah berjalan di
server kita, dapat menggunakan
command di bawah
ini.
root@bagol69:~# docker ps
-a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
53eb53b14e7c debian
"bash"
30 seconds ago Up 29
seconds
happy_payne
b2113ad9f966 debian
"bash"
57 seconds ago Exited (0) 46
seconds ago
elastic_jang
8d3ac8f7668b hello-world "/hello" About an hour ago Exited (0) About an hour ago lucid_jepsen
1052cbb36d79 hello-world "/hello" 22 hours ago Exited (0) 22 hours ago reverent_poincare
Untuk menghapus container
kalian dapat menggunakan
command di bawah
ini.
root@bagol69:~# docker rm
id ( ID dari
Container )
Di sini saya mencontohkan menghapus salah
satu container yang
sudah ada di
server saya.
root@bagol69:~# docker rm 66c704c02143
66c704c02143
Setelah menghapus container
di server kalian,
silahkan lihat lagi
apa container sudah
berhasil di hapus atau
tidak menggunakan command
di bawah ini.
root@bagol69:~# docker ps
-a
Kemudian kita
mencari container id
yang kita hapus
sebelumnya. Kalo tidak ada
container id tersebut,
berarti sudah berhasil menghapus container.
Sebelum kita sudah berhasil menghapus
container dari server, sekarang kita
belajar menghapus images
dari server.
Dapat menggunakan command
di bawah ini
untuk menghapus images
dari server anda.
root@bagol69:~# docker rmi
( ID
Images )
“Noted “
ID Images itu anda
ganti dengan ID Images
yang anda dapatkan dari
server anda.
Misalnya, saya menghapus
images open suse
dengan iD images
35057ab4ef08
root@bagol69:~# docker rmi
35057ab4ef08
Untagged: opensuse:latest
Untagged:
opensuse@sha256:569e6ee7a622838b9fa1111c3bfa99a50fdb34b7503f945b7d18ce66bb94a369
Deleted:
sha256:35057ab4ef084eb79755b0eb3a724eed2187cf3a22724f6e426f1b0e9cac6d83
Deleted:
sha256:5859f81da2ee28c49ba7153881e8dc8aaa475d935a4243e5554f43efb15aabcc
Untuk memastikan
server anda sudah
berjalan docker atau
belum.
Kita pastikan server anda
sudah terinstall docker
dengan baik, dengan
mengecek versi dari
docker tersebut menggunakan
command di bawah ini.
root@bagol69:~# docker version
Client:
Version: 18.06.0-ce
API version: 1.38
Go version: go1.10.3
Git commit: 0ffa825
Built: Wed Jul 18 19:11:02 2018
OS/Arch: linux/amd64
Experimental: false
Server:
Engine:
Version: 18.06.0-ce
API version: 1.38 (minimum version 1.12)
Go version: go1.10.3
Git commit: 0ffa825
Built: Wed Jul 18 19:09:05 2018
OS/Arch: linux/amd64
Experimental: false
Dari keterangan di
atas bahwa server
saya sudah berhasil
install docker dan
menggunakan versi docker
terbaru yaitu docker
versi 18.06-ce.
Untuk mengetahui versi
docker secara lengkap,
seperti berapa banyak
container dan images
yang ada di
server.
Dapat menggunakan
command di bawah
ini.
root@bagol69:~# docker info
Containers: 13
Running: 1
Paused: 0
Stopped: 12
Images: 9
Server Version: 18.06.0-ce
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald
json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version:
d64c661f1d51c48782c9cec8fda7604785f93587
runc version:
69663f0bd4b60df09991c08812a60108003fa340
init version: fec3683
Security Options:
apparmor
seccomp
Profile: default
Kernel Version:
4.4.0-116-generic
Operating System: Ubuntu
16.04.5 LTS
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 1.153GiB
Name: opentest
ID:
N4QQ:4S7C:QPHH:QB7W:642K:QRMN:4Y7H:QABZ:H2H7:T63Z:KEFS:HFGX
Docker Root Dir:
/var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Username: bagol321nugroho
Registry:
https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
WARNING: No swap limit support
Untuk menjalankan container kita dapat
menggunakan command di
bawah ini.
Untuk keluar
dari container kita
dapat menggunakan perintah “ exit
“ atau
menggunakan shourcut
keyboard. Ctrl + p dan ctrl + q.
root@bagol69:~# docker run -it
bagol69_container_backup
root@38af465cc593:/# exit
jika anda keluar
dari container menggunakan
perintah “exit” secara
otomatis container anda
akan stop, anda
perlu mengaktifkan container
anda, menggunakan perintah
di bawah ini.
root@bagol69:~# docker start
38af465cc593
38af465cc593
Nomor ini 38af465cc593
adalah ID dari
Container.
Sedangkan untuk masuk
ke dalam container
anda dapat mengunakan
perintah di bawah
ini.
root@bagol69:~# docker attach
38af465cc593
root@38af465cc593:/#
Untuk panduan docker
sudah sampai di
sini dulu, nanti
di lanjutkan panduan
docker lagi.
Sementara masih pengenalan
docker terlebih dahulu
nanti akan di
lanjutkan artikel berikutnya
masih bahas docker
sampai tuntas.