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-keygenLalu tambahkan public key .ssh/id_rsa.pub pada setiap node yang dijadikan sebagai worker
ssh-copy-id user@IP_WORKERPastikan 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 lsUsing 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 lsOutput
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
docker context use worker1Cek 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 #
docker context showUpdate 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