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.
ssh-keygen
Lalu tambahkan public key .ssh/id_rsa.pub
pada setiap node yang dijadikan sebagai worker
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.
DOCKER_HOST=ssh://$IP_WORKER docker container ls
Using Docker Context #
Untuk menambahkan instance docker gunakan perintah.
docker context create worker1 --description "Worker 1" --docker "host=ssh://$IP_WORKER"
Lalu cek dengan perintah
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.10
Untuk memakai context worker1
docker context use worker1
Cek dengan docker info
$ docker info
Client:
Context: worker1
Debug Mode: false
Atau bisa juga menggunakan option --context
$ docker --context worker1 info
Client:
Context: worker1
Debug Mode: false
Show current context #
docker context show
Update context #
docker context update worker1 --description "some description" --docker "host=tcp://myserver:2376,ca=~/ca-file,cert=~/cert-file,key=~/key-file"
Remove context #
docker context rm worker1