Skip to content

ノートDwinar

Hidup tuh bercanda, yang serius cuma mati

Menu
  • Home
  • Admin Server
    • Debian
    • RedHat
    • Ubuntu
    • Zimbra
  • Blog
  • Buku & Publishing
  • About
  • Contact
Menu

Cara Membuat Docker Private Registry

Posted on December 7, 2019February 7, 2020 by dwinar

Pada kesempatan sebelumnya saya sudah memulis cara instalasi Docker, pada kesempatan kali ini saya akan menulis cara membuat docker private registry. Yang belum sempat membaca dapat melihat pada tautan berikut ini. Sebenarnya apa sih docker private registry? Docker private registry sendiri sama hal nya dengan docker registry atau docker hub yang ada diinternet. Tempat untuk menyimpan dan untuk mendownload images docker. Atau bahasa kerennya push dan pull images. Hanya saja di docker private registry ini untuk menyimpan images diserver lokal, hal ini sangat bagus. Mengingat jika anda ingin berbagi image suatu proyek aplikasi, secara lokal. Ok langsung aja kita mulai, cara membuat docker private registry.

Saat anda membaca ini saya harap anda sudah menginstall docker pada server anda. Jika belum dapat melihat panduannya pada tautan berikut ini. Oh ya perlu diingat disini saya akan membuat sekema sebagai berikut, untuk tutorial kali ini.

Topologi

                                                                                                   {INTERNET}
                                                                                                                |
                                                                                                  {NAT SERVER}
                                                                                                                |
                                                                        | -------------------- | -------------------- |
                                                                        |                                      |                                      |
                                                                      {A}                                 {B}                                 {C}
                                                         192.168.8.2             192.168.8.3            192.168.8.4

Dari topologi tersebut akan dibuat sekema seperti berikut:

Server A sebagai server docker private registry dengan ip address 192.168.8.2, server B dan C sebagai client dimana akan melakukan push dan pull images melalui docker private registry milik server A. Dengan ip address masing – masing 192.168.8.3 dan 192.168.8.4.

Konfigurasi Pada Server A

Pada server A buat sebuah container untuk menyimpan images dockernya. Untuk perintahnya adalah sebagai berikut:

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

Coba pull sebuah images dari docker registry atau docker hub yang ada di internet. Dini saya mengepull image dari images alpine. Untuk perintahnya adalah sebagai berikut:

docker pull alpine:latest

Cek imges yang telah di pull apakah sudah ada di lokal atau belum, dengan perintah berikut:

docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
alpine              latest              965ea09ff2eb        6 weeks ago         5.55MB
registry            2                   f32a97de94e1        9 months ago        25.8MB

Beri sebuah tag pada images yang telah di pull sebelumnya, dalam hal ini saya akan beri nama localhost. Untuk perintahnya adalah sebagai berikut:

docker tag alpine:latest localhost:5000/alpine:latest

Cek apakah tag tersebut sudah terapply pada imagesnya. Dengan perintah sebagai berikut:

docker images
REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
alpine                  latest              965ea09ff2eb        6 weeks ago         5.55MB
localhost:5000/alpine   latest              965ea09ff2eb        6 weeks ago         5.55MB
registry                2                   f32a97de94e1        9 months ago        25.8MB

Sekarang push images tersebut ke docker private registry. Dengan perintah berikut:

docker push localhost:5000/alpine:latest

Melakukan Pull Images Dari Server Lain
Nah pada tahap ini pada server B dan C dapat melakukan pull images dari server A. Lakukan pull images pada server B atau C, dengan perintah sebagai berikut:

docker pull 192.168.8.2:5000/alpine:latest

Dari perintah datas pasti akan mengeluarkan output error sebagai berikut:

Error response from daemon: Get https://192.168.8.2:5000/v2/: http: server gave HTTP response to HTTPS client

Hal ini dikarenakan secara default docker hanya memperbolehkan komunikasi melalui secure connection. Dimana pada docker server A hanya menggunakan http untuk aksesnya. Maka docker akan menolaknya. Lantas apa dong cara agar docker pada server B dan C dapat melakukan pull ke dari server A. Untuk hal tersebut anda haruslah membuat sebuah file /etc/docker/daemon.json pada server B dan C. Lalu isikan dengan isi sebagai berikut:

{
   "insecure-registries" : ["192.168.8.2:5000"]
}

Restart servis docker pada server B dan C.

systemctl restart docker.service

Lalu lakukan pull kembali dari server B atau C.

docker pull 192.168.8.2:5000/alpine:latest

Cek apakah images yang telah di pull sudah masuk ke server B atau C.

docker images
REPOSITORY                TAG                 IMAGE ID            CREATED             SIZE
192.168.8.2:5000/alpine   latest              965ea09ff2eb        6 weeks ago         5.55MB

Untuk tutorial kali ini cukup segini aja, terimakasih telah membaca.

2 thoughts on “Cara Membuat Docker Private Registry”

  1. Sugeng Agung Suganda says:
    April 6, 2020 at 11:41 am

    Mau tanya, supaya bisa push dari client ke registry-nya gimana ya? Soalnya saya push ada pesan errornya layer already exist.

    Reply
    1. dwinar says:
      April 17, 2020 at 8:01 am

      HI Sugeng Agung,
      Bisa dibantu tampilan list docker images nya. Untuk perintahnya bisa menggunakan docker images. Dan bisa dibantu juga saat push images apa yang tidak bisa.

      Reply

Leave a Reply Cancel reply

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

Recent Posts

  • Instalasi T-Pot Honeypot Framework
  • Ulang Tahun Excellent 9
  • Cara Setting DNS over HTTPS
  • Cara Upgrade OS Mikrotik
  • Membersihkan Sampah Pada Docker

Recent Comments

  • raihan irfan on Cara Install Docker Toolbox di Windows 10 Home
  • dwinar on Instalasi T-Pot Honeypot Framework
  • dwinar on Instalasi T-Pot Honeypot Framework
  • dwinar on Cara Replikasi Database Master – Slave
  • manda on Cara Replikasi Database Master – Slave

Categories

  • Admin Server
  • Blog
  • Debian
  • RedHat
  • Ubuntu
  • Zimbra

Archives

  • January 2021
  • September 2020
  • June 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • January 2020
  • December 2019
  • November 2019
  • October 2019
  • September 2019
  • August 2019
  • July 2019
  • June 2019
  • May 2019
  • April 2019
  • March 2019
  • February 2019
  • January 2019
  • December 2018
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018

Tags

BBB Blog CentOS CentOS 8 Cockpit cPanel DataBases docer Docker Docker CE Docker Private Registry Docker Toolbox fail2ban Gnome google cloud Honeypot Jitsi Kubernetes Let’s Encrypt Linux lsync MariaDB Mikrotik Nakivo NextCloud Open Source OpenSUSE Redhat RedHat 7 S/MIME SSH SSL T-Pot Ubuntu Video Conference Web Server WFH WHM Windows Zextras Zimbra Zimbra Docs Zimbra Drive Zimbra Drive v2 Zimbra NE
December 2019
MTWTFSS
 1
2345678
9101112131415
16171819202122
23242526272829
3031 
« Nov   Jan »
© 2022 ノートDwinar | Powered by Minimalist Blog WordPress Theme