Docker Context merupakan fitur dari Docker CLI yang memungkinkan Anda terhubung ke instance docker jarak jauh atau instance docker lainnya.
Selain untuk mengelola beberapa instance docker individual, Docker Context juga dapat digunakan untuk mengelola beberapa cluster Swarm dan cluster Kubernetes.
Generate SSH-key
Generate SSH key menggunakan ssh-keygen pada node yang akan dijadikan Leader.
1
ssh-keygen
Lalu tambahkan public key .ssh/id_rsa.pub pada setiap node yang dijadikan sebagai worker
1
ssh-copy-id user@IP_WORKER
Pastikan node Leader dapat melakukan ssh tanpa memasukan password (passwordless)
Test DOCKER_HOST
Sebelum menambahkan Docker Context, Anda dapat melakukan test terlebih dahulu dengan perintah berikut.
1
DOCKER_HOST=ssh://$IP_WORKER docker container ls
Untuk menggunakan ssh:// pastikan versi docker 19.03 atau lebih baru. Jika Anda memakai versi dibawahnya dapat dicoba dengan tcp://
Using Docker Context
Untuk menambahkan instance docker gunakan perintah.
1
docker context create worker1 --description "Worker 1" --docker "host=ssh://$IP_WORKER"
Lalu cek dengan perintah
1
docker context ls
Output
NAME DESCRIPTION DOCKER ENDPOINT ERROR
default * Current DOCKER_HOST based configuration unix:///var/run/docker.sock
worker1 Worker 1 ssh://10.7.7.10Untuk memakai context worker1
1
docker context use worker1
Cek dengan docker info
$ docker info
Client:
Context: worker1
Debug Mode: falseAtau bisa juga menggunakan option --context
$ docker --context worker1 info
Client:
Context: worker1
Debug Mode: falseShow current context
1
docker context show
Update context
1
docker context update worker1 --description "some description" --docker "host=tcp://myserver:2376,ca=~/ca-file,cert=~/cert-file,key=~/key-file"
Remove context
1
docker context rm worker1