Docker local registry pada Ubuntu 20.04

Docker merupakan sebuah alat untuk mengelola dan membuat image kontainer. Nah, pastinya kontainer tersebut ada penyimpananya dong, nah docker sendiri sebenarnya sudah menyediakannya yaitu dockerhub. Nah pada dockerhub kita bisa membuat dan menguploadnya pada dockerhub. Tapi sayangnya dockerhub bersifat enterprise, memang ada yang plan gratisnya tapi batasanya itu loh. Pada dockerhub dengan plan gratis kita hanya di kasih 100 pull jika belum login atau 200 pull jika sudah login per 6 jam. Bagi saya yang masih belajar, itu cukup menggangu karena saya pernah lebih dari 200 kali pull per 6 jam, yg hasilnya ya saya harus nunggu 6 jam kemudian untuk melanjutkanya meresahkan sekali bukan.

Nah, karena docker dasarnya itu adalah open source maka docker juga menyediakan docker registry untuk di lokal, yang artinya kita bisa menyimpan image kontainer di lokal sendiri. Lalu kelebihan lainya yaitu tidak ada limitasi pull, kita bebas pull berapa kalipun serta kita tidak perlu mengeluarkan kuota berlebih untuk pull image nya. Tapi kekuranganya jika menggunakan lokal repository kita tidak akan mendapat update kontainer terbaru dari officialnya, misalkan kita menggunakan image nginx official lalu kita upload pada lokal repositori kita maka kita tidak akan mendapatkan update terbaru dari image nginx tersebut, karena image yang official itu langsung di upload pada dockerhub jadi harus tetap sering-sering cek update lalu reupload kembali image tersebut.

Oke, diatas mungkin sedikit penjelasan tentang apa itu dockerhub, lokal repository, kelebihan serta kekuranganya. Nah karena lokal repository tersebut berbentuk kontainer maka kita harus deploy terlebih dahulu untuk bisa menggunakannya.

sudo docker run -d -p 5000:5000 --restart=always --name lokal-registry registry:2

Kita coba push image ke lokal docker, sebelumnya kita lihat image yg tersedia

sudo docker images

Nah, kita akan coba push image golang ya. Sebelumnya kita harus memberi tag pada image yang akan kita push

sudo docker tag golang:latest localhost:5000/golang:latest

Kita lihat update dari imagenya

sudo docker images

Kita coba push localhost:5000/golang ke lokal repository kita

sudo docker push localhost:5000/golang:latest

Nah, sampai ini kita sudah sukses push docker image ke lokal repositori kita. Untuk memverifikasinya kita hapus dulu image golang yang kita punya

sudo docker rmi golang sudo rmi localhost:5000/golang

Kita coba lagi nih, liat image yg kita punya pada docker

sudo docker images

Nah, udah hilang ya image golangnya, sekarang kita coba pull dari lokal repository kita

Nah kita sudah bisa tuh, pull image dari lokal repository kita.

Oke, sekarang kita udah berhasil membuat lokal registri pada docker kita. Jadi kita gak harus buang-buang kuota lagi ya kan untuk pull image dari docker lagi ;v. Mungkin itu ya teman-teman artikel kali ini mohon banyak bila banyak kesalahan. Semoga bermanfaat yaa

Related Articles

Responses

Your email address will not be published. Required fields are marked *