Membuat Docker Private Registry

pexels-photo

Selamat Sore, jurnal sore hari ini berisi tentang pembuatan private docker registry pada jaringan lokal. Setelah sebelumnya kita telah mengenal Docker Registry kali ini kita akan coba untuk memasangnya pada jaringan lokal kita. Penggunaan Docker Registry pada jaringan lokal mempunya beberapa keunggulan, salah satunya mempercepat pull image. Kita juga dapat membuat private docker registry pada jaringan public dengan memanfaatkan Docker Hub (https://hub.docker.com/), namun cara ini akan saya bahas pada jurnal berikutnya.

Topologi yang akan kita gunakan pada pembuatan Docker Registry seperti ini

Selection_162

Dari topologi diatas kita bisa simpulkan bahwa Docker Registry berada satu jaringan dengan Host. oke, langsung saja kita mulai. pada Docker Registry, saya menggunakan Centos 7 sementara Host saya menggunakan ubuntu 16.04.

Lakukan instalasi Docker Registry pada centos

yum -y install docker-registry

selanjutnya lakukan pull image registry pada docker

docker search registry
docker pull registry:latest

sebelumnya buat directory pada centos yang nantinya akan kita mounting ke dalam registry container. Direktori yang akan kita buat nantinya akan digunakan sebagai penyimpanan image pada Registry kita.

mkdir -p /var/lib/registry

Selanjutnya jalan Image Registry pada container

docker run -d -p 5000:5000 -v /var/lib/registry:/tmp/registry -e SETTINGS_FLAVOR=dev -e STANDLONE=false -e MIRROR_SOURCE=https://registry-1.docker.io -e MIRROR_SOURCE_INDEX=https://index.docker.io registry

dari perintah diatas kita akan melakukan PAT dengan memountingkan Port 5000 milik docker Registry ke port 5000 pada Centos Kita. Pada defaultnya Docker Registry akan menggunakan Certificate dalam menjalankan operasinya. Disini kita akan coba disable terlebih dahulu penggunaan Certificate tersebut.

vi /usr/lib/systemd/system/docker.service

pada bagian ExecStart= tambahkan

--insecure-registry ip-address-centos:5000

kemudian simpan.
jangan lupa lakukan restart service Docker

systemctl restart docker

kemudian pastikan container registry kita sudah berjalan

docker ps

apabila container kita tidak berjalan maka jalan container dengan cara

docker start

Karena kita menggunakan centos maka kita akan melakukan allow port 5000 pada firewall kita

firewall-cmd --add-port=5000/tcp

Selanjutnya kita akan melakukan upload(push) image ke dalam Container Registry kita, sehingga kedepannya apabila kita melakukan download(pull) image maka kita bisa melakukan pull pada registry lokal kita.
pertama-tama lakukan pull image pada, disini kita melakukan pull image nginx. tetapi apabila anda mau mencoba menggunakan image lain silahkan

docker pull nginx:latest

buat tag untuk image nginx, tag dilakukan untuk mengarahkan image nginx ke Container Registry kita.

docker tag nginx ip-address-centos:5000/nginx:latest

selanjutnya kita akan melakukan push image nginx kedalam container registry kita.

docker push ip-address-centos:5000/nginx:latest

Sampai disini kita telah berhasil melakukan push Image Nginx ke dalam Container Registry. Untuk melihat apakah image nginx telah berhasil kita push pada registry kita gunakan perintah ini

curl http://ip-address-centos:5000/v2/_catalog


Pengecekan Pada Host

Selanjutnya kita akan melakukan pengetesan apakah Registry lokal kita sudah berjalan atau belum. Pengetesan akan dilakukan pada host yang menggunakan distro Ubuntu 16.04, sebelum kita mulai pastikan host kita dapat terkoneksi dengan registry kita.
Selanjutnya kita akan mendisable ssl pada Docker host kita. Kita lakukan disable hanya untuk pull dari registry lokal.

vi /etc/default/docker

dan tambahkan syntax ini pada baris paling bawah

DOCKER_OPTS="--insecure-registry ip-address-centos:5000"

jangan lupa lakukan restart pada docker

systemctl restart docker

selanjutnya lakukan percobaan pull image nginx dari container lokal ke host kita

docker pull ip-address-centos:5000/nginx:latest

apabila dunia dalam keadaan baik-baik saja maka pulling image akan berhasil dilakukan, apabila gagal silahkan corat-coret pada kolom komentar. Terimakasih

Iklan

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s