Docker merupakan salah satu tools yang banyak digunakan DevOps/Site Reliability Engineer/Sysadmin dan developer untuk menjalankan berbagai tools tanpa menginstall di komputer, jadi sistem menjadi lebih bersih. Di Debian sendiri sudah tersedia docker dari repository Debian, tetapi banyak masalah yang sering terjadi, untuk itu direkomendasikan menggunakan repository langsung dari Docker.com, selain karena sering di update, juga paling kompatibel dengan docker itu sendiri.
Update Metadata apt
Setelah install VM ataupun Debian di on-premise, kadang perintah apt belum pernah di update, agar diambil versi meta repository paling baru jalankan
sudo apt update
Install Dependency
Install dependency berikut agar proses instalasi dan testing docker nantinya berjalan dengan lancar
sudo apt install apt-transport-https ca-certificates curl gnupg -y
Install GPG Key
Paket di repository resmi docker ini, di sign dengan key ini, sebelum bisa menginstall paket software Docker, key ini harus sudah terinstall agar apt
tidak komplain.
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Repository Docker
Install repository dengan dengan
echo \ "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
agar repository baru tersebut dikenali, update metadata apt
sudo apt update
Install Docker Engine
sudo apt install docker-ce docker-ce-cli containerd.io -y
Saat ini yang bisa menjalankan docker hanya user dengan akses root, agar user biasa bisa menjalankan docker, tambahkan kedalam group docker
, cek user anda saat ini masuk kedalam group yang mana saja
$ id tommy uid=1000(tommy) gid=1000(tommy) groups=1000(tommy),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),109(netdev),113(scanner),116(lpadmin)
masukkan user anda kedalam group docker
sudo usermod -aG docker $USER
lalu cek kembali, docker seharusnya sudah masuk
$ id tommy uid=1000(tommy) gid=1000(tommy) groups=1000(tommy),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),109(netdev),113(scanner),116(lpadmin),998(docker)
setelah perubahan tersebut user ‘tommy’, bisa menjalankan perintah docker langsung
docker ps
Service Docker
Beberapa perintah dasar untuk menjalankan, menghentikan service docker dengan systemctl
Menjalankan docker setelah booting
sudo systemctl enable docker
Menjalankan service docker
sudo systemctl start docker
Melihat status service docker
sudo systemctl status docker
Menghentikan service docker
sudo systemctl stop docker
Menjalankan Aplikasi Docker Pertama
Sebagai contoh kita akan menjalankan nginx dari docker, jalankan perintah berikut ini
docker run -p 8000:80 -d nginx
dari perintah diatas, kita akan mapping port 80 dari nginx di docker, dengan port 8080 di komputer. Untuk mengeceknya gunakan curl
$ curl localhost:8000 # output <!DOCTYPE html> <html> <head> <title>Welcome to nginx!</title> <style> body { width: 35em; margin: 0 auto; font-family: Tahoma, Verdana, Arial, sans-serif; } </style> </head> <body> <h1>Welcome to nginx!</h1> <p>If you see this page, the nginx web server is successfully installed and working. Further configuration is required.</p> <p>For online documentation and support please refer to <a href="http://nginx.org/">nginx.org</a>.<br/> Commercial support is available at <a href="http://nginx.com/">nginx.com</a>.</p> <p><em>Thank you for using nginx.</em></p> </body> </html>