Bekerja dengan Remote Docker menggunakan Docker Context

tech · 17 Jun 2023 · ~2 menit

Translated by: @paramithatm

Photo by @carrier_lost on Unsplash
Photo by @carrier_lost on Unsplash

Pengenalan

Ini adalah contekan cara menggunakan docker context untuk terhubung dengan remote docker secara lokal. Mungkin dapat membantu kalian terhubung dengan remote docker kalian tanpa perlu SSH secara manual ke server remote.

Menambahkan Context

1
2
3
$ docker context create my-remote-docker-machine --docker "host=ssh://username@host"
my-remote-docker-machine
Successfully created context "my-remote-docker-machine"

Kalian juga dapat memanfaatkan file SSH Config untuk terhubung ke remote docker. Khususnya ketika kalian perlu mendefinisikan private key atau password sendiri.

1
2
3
4
5
$ cat ~/.ssh/config 
Host my-remote-docker-machine
  Hostname host
  User username
$ docker context create my-remote-docker-machine --docker "host=ssh://my-remote-docker-machine"

Selain ssh, kalian juga dapat menambahkan context menggunakan protokol tcp jika kalian mengaktifkan Docker API.

Tampilkan Semua Context

1
2
3
4
$ docker context ls
NAME                       DESCRIPTION                               DOCKER ENDPOINT               KUBERNETES ENDPOINT   ORCHESTRATOR
default *                  Current DOCKER_HOST based configuration   unix:///var/run/docker.sock                         swarm
my-remote-docker-machine                                             ssh://username@host

Menggunakan Context

1
2
3
4
5
6
7
8
$ docker --context my-remote-docker-machine images -q
65dadc9c7fe7
f814fce55133
7a9b6da4328e
33655f17f093
d120da10b040
6d6859d1a42a
c19ae228f069

Mengatur Context sebagai Pilihan Bawaan

1
2
3
4
5
6
7
$ docker context use my-remote-docker-machine 
my-remote-docker-machine
Current context is now "my-remote-docker-machine"
$ docker context ls
NAME                         DESCRIPTION                               DOCKER ENDPOINT               KUBERNETES ENDPOINT   ORCHESTRATOR
default                      Current DOCKER_HOST based configuration   unix:///var/run/docker.sock                         swarm
my-remote-docker-machine *                                             ssh://username@host

Perhatikan bahwa * berpindah dari default ke my-remote-docker-machine. Sekarang kalian dapat menggunakan perintah docker tanpa flag --context.

Menghapus Context

1
2
3
$ docker context use default # back to default
$ docker context rm my-remote-docker-machine 
my-remote-docker-machine

Kesimpulan

Menggunakan docker context membantu kita menghindari SSH secara manual ke server remote. Tapi, ketika kita perlu membuat sebuah image menggunakan remote docker secara lokal, kita perlu memikirkan seberapa besar docker context yang perlu diunggah/diunduh.

Terima kasih sudah membaca!

· · ·

Suka Konten Ini?

Bentuk dukungan apapun saya hargai! Dukung saya melalui Bitcoin, Ko-fi, Trakteer, atau lanjut baca konten saya yang lainnya. Kamu bisa menulis respon lewat Webmention dan beritahu saya URLnya lewat Telegraph.

Tulis komentar anda di bawah