Pengertian Docker
Docker adalah salah satu platform yang dibangun berdasarkan teknologi container. Docker merupakan sebuah project open-source yang menyediakan platform terbuka untuk developer maupun sysadmin untuk dapat membangun, mengemas, dan menjalankan aplikasi dimanapun sebagai sebuah wadah (container) yang ringan. Dengan sangat populernya docker, sebagian orang sering menganggap docker adalah sebutan lain untuk container.
Docker pertama kali dikembangkan oleh Solomon Hykes sebagai project internal di dotCloud bersama dengan beberapa koleganya seperti Andrea Luzzardi dan Francois-Xavier Bourlet. Perilisan platform ini secara open-source dilakukan pada mei 2013 silam. Docker terus berkembang hingga memiliki ribuan orang yang berkontribusi membuatnya menjadi lebih baik.Berbeda dengan virtualisasi yang mana aplikasi berjalan di atas hypervisor dan guest OS, docker dapat menjalankan aplikasi langsung tanpa kedua hal tadi. Docker juga dilengkapi dengan fitur sandbox yang menjamin pengerjaan pengembang dan sysadmin tidak terganggu. Sandbox pada istilah keamanan komputer adalah mekanisme pemisahan aplikasi atau program tanpa mengganggu host (isolasi). Bagi pengembang, sandbox Menjamin aplikasinya dapat berjalan tanpa ada gangguan atas perubahan lingkungan host. Sedangkan bagi sysadmin, menjamin host server yang dikelola tidak terganggu dan dapat melakukan update tanpa takut mengganggu aplikasi.
Dikutip dari situs resmi docker, pengembang dapat mengefektifkan waktu mereka dengan menghilangkan proses konfigurasi yang cocok dengan programnya. Selain itu, berkat fitur sandbox, pengembang leluasa untuk berkreasi tanpa takut merusak programnya. Terakhir docker menjamin program yang kita buat, akan selamanya berjalan seperti seharusnya. Pemaketan aplikasi dan seluruh kebutuhannya, memastikan aplikasi berjalan lancer pada kondisi lingkungan apapun.
Instalasi
Pertama yang harus disiapkan adalah:
- 2 Instance dengan image ubuntu-16.04-server-clouding-amd64-disk1-20180306.img
- Masing - masing instance memiliki 2 vCpu
- RAM 4gb
1. Pastikan IP, Gateway, dan Hostname Sesuai.
### Node pod1 ###
Interface: eth0
IP Address: 10.x.x.x/24
Gateway: 10.x.x.1
Hostname: pod1
### Node pod2 ###
Interface: eth0
IP Address: 10.x.x.x/24
Gateway: 10.x.x.1
Hostname: pod2
2. Tambahkan Name Resolution dengan menjalankan perintah :.
vi /etc/hosts
....
10.X.X.X pod1
10.X.X.X pod2
3. Selanjutnya kita akan memulai proses instalasi dari docker, jalankan command berikut pada node pod 1 :.
sudo apt -y install docker.io
sudo systemctl status docker
.....
docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2018-09-10 12:26:38 WIB; 23h ago
Docs: https://docs.docker.com
Main PID: 12472 (dockerd)
Tasks: 95
Memory: 164.0M
CPU: 7min 40.411s
CGroup: /system.slice/docker.service
├─12472 /usr/bin/dockerd -H fd://
├─12481 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/
├─12495 docker-containerd-shim 5f341a58969b065022cfd2d7e4acc69249d7af6eab1b1f6469b27b0f08e41bbc /var/run/docker/libcontainerd/5f341a58969b065022cfd2d7e4acc69
├─20724 docker-containerd-shim 5d5452724ab1b34d6c91877970f0d905fb89e3efeeb551131f3711c9b36b1a71 /var/run/docker/libcontainerd/5d5452724ab1b34d6c91877970f0d90
├─20923 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8000 -container-ip 172.19.0.3 -container-port 80
├─20935 docker-containerd-shim 27f679dfeec5df3998f7f3792a46453fee02c56b12442b355a211c38bd643667 /var/run/docker/libcontainerd/27f679dfeec5df3998f7f3792a46453
├─29484 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 2048 -container-ip 172.17.0.2 -container-port 80
├─29494 docker-containerd-shim 81025f5004dcac3f72448e3a4fbd8d3278403ac0e5f20e76c15c2dec7adc0c1f /var/run/docker/libcontainerd/81025f5004dcac3f72448e3a4fbd8d3
└─5f341a58969b065022cfd2d7e4acc69249d7af6eab1b1f6469b27b0f08e41bbc
└─12513 /docker-volume-sshfs
4. Cek detail instalasi docker :.
sudo docker version
.......
Client:
Version: 17.03.2-ce
API version: 1.27
Go version: go1.6.2
Git commit: f5ec1e2
Built: Thu Jul 5 23:07:48 2018
OS/Arch: linux/amd64
Server:
Version: 17.03.2-ce
API version: 1.27 (minimum version 1.12)
Go version: go1.6.2
Git commit: f5ec1e2
Built: Thu Jul 5 23:07:48 2018
OS/Arch: linux/amd64
Experimental: false
5. Sekarang kita akan menguji instalasi Docker yang sudah dibuat :.
sudo docker run hello-world
.......
latest: Pulling from library/hello-world
d1725b59e92d: Pull complete
Digest: sha256:0add3ace90ecb4adbf7777e9aacf18357296e799f81cabc9fde470971e499788
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
6. Jalankan perintah berikut untuk melihat daftar image yang ada pada docker :.
sudo docker image ls
.......
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest 4ab4c602aa5e 3 days ago 1.84 kB
7. Jalankan perintah berikut untuk melihat daftar image yang ada pada docker :.
sudo docker container ls
.......
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e0f4a4c78d25 hello-world "/hello" 6 minutes ago Exited (0) 6 minutes ago friendly_edison
8. Selanjutnya kita akan mencoba memanggil image yang berasal dari https://hub.docker.com :.
sudo docker run docker/whalesay cowsay [NAMA]
.......
latest: Pulling from docker/whalesay
e190868d63f8: Pull complete
909cd34c6fd7: Pull complete
0b9bfabab7c1: Pull complete
a3ed95caeb02: Pull complete
00bf65475aba: Pull complete
c57b6bcc83e3: Pull complete
8978f6879e2f: Pull complete
8eed3712d2cf: Pull complete
Digest: sha256:178598e51a26abbc958b8a2e48825c90bc22e641de3d31e18aaf55f3258ba93b
Status: Downloaded newer image for docker/whalesay:latest
__________
< NAMA >
----------
\
\
\
## .
## ## ## ==
## ## ## ## ===
/""""""""""""""""___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\______/
Berikut Tutorial dalam mengisntall Docker, pada pertemuan selanjutnya kita akan membahas tentang container pada docker.
0 comments
Post a Comment