luktom.net
  • blog
  • kontakt
  • english





Własne repozytorium Dockera

10 wrz, 2015
Docker
2 komentarze
Odsłony : 4659

fbbb494a7eef5f9278c6967b6072ca3e_400x400Tworząc infrastrukturę opartą o kontenery Dockera wcześniej czy później (a raczej wcześniej) napotkamy problem dystrybucji prywatnych obrazów kontenerów w ramach klastra. Najprostszym rozwiązaniem jest wdrożenie własnego, lokalnego repozytorium dockera.

W tym wpisie pokażę jak to zrobić korzystając z gotowego obrazu i systemu CoreOS (choć w praktyce może być to dowolny system z zainstalowanym Dockerem).

Rozwiązanie opiera się o dostępny publicznie obraz kontenera o nazwie „registry”.

Obrazy będziemy przechowywać lokalnie, w folderze /data. W tym celu konieczne będzie skonfigurowanie kontenera poprzez przekazaniu mu zmiennej środowiskowej SETTINGS_FLAVOR=local oraz STORAGE_PATH=/data, a także podpięcie ścieżki z lokalnego dysku jako wolumenu Dockerowego.

Kompletne polecenie uruchamiające skonfigurowany kontener prezentuje się następująco:

docker run --name registry --rm -e SETTINGS_FLAVOR=local -e STORAGE_PATH=/data -p 5000:5000 -v /data:/data registry

Aby zapewnić automatyczny start po uruchomieniu systemu powyższe możemy ubrać w plik unit celem deploymentu przy użyciu fleet (w przypadku CoreOS) lub po prostu poprzez systemd w innych niż CoreOS dystrybucjach:

[Unit]
Description=registry

[Service]
TimeoutStartSec=0
ExecStartPre=-/usr/bin/docker rm registry
ExecStartPre=-/usr/bin/docker kill registry
ExecStart=/usr/bin/docker run --name registry --rm -e SETTINGS_FLAVOR=local -e STORAGE_PATH=/data -p 5000:5000 -v /data:/data registry
ExecStop=/usr/bin/docker stop registry
Restart=always

[X-Fleet]
[email protected]*.service


Tagi :   coreosdockerfleetkonteneryregistry

Powiązane wpisy

  • Rancher i prywatne repozytoria Dockera

  • Instalacja klastra Rancher

  • Instalacja RancherOS

  • 2 komentarze

    • Gallar cze 23 , 2016 at 19:21 /

      Czesc, dzięki wielkie za opis postawienia registry. Mam tylko pytanie jak z niego skorzystać. Mianowicie czy da się gdzieś podać ścieżkę z której ma korzystać podczas uruchamiania kontenera, czy trzeba się bawić w hosts systemu nosiciela?

    • Gallar cze 27 , 2016 at 12:15 /

      Znalazłem odpowiedź:

      Teraz na dowolnym innym serwerze instalujemy dockera i aktualizujemy konfigurację.

      Umieszczamy certyfikat na odpowiedniej ścieżce:
      1.# mkdir /etc/docker/certs.d/registry.my-company.local:5000/
      2.# scp [email protected]:/etc/certs/self.crt /etc/docker/certs.d/registry.my-company.local:5000/ca.crt

      Edytujemy plik /etc/sysconfig/docker, a nim modyfikujemy jedną linie:
      1.ADD_REGISTRY=’–add-registry registry.my-company.local:5000′

      Restartujemy usługę docker:
      1.# systemctl restart docker

      Sprawdzamy, czy działa:
      1.# docker pull alpine:latest
      2.# docker tag alpine:latest registry.my-company.local:5000/myalpine:latest
      3.# docker push registry.my-company.local:5000/myalpine:latest
      4.# docker rmi myalpine:latest
      5.# docker rmi alpine:latest
      6.# docker pull myalpine:latest

      To oczywiście nie jest jedyny sposób na zbudowanie własnego registry. Bardziej zaawansowani administratorzy powinni zainteresować się instalację docker-registry z pakietów. Dodatkowo warto posłużyć się apache jako front-end i to na nim skonfigurować klucze SSL.

      To z:
      http://bel.pl/private-docker-registry/


    Dodaj komentarz

    Click here to cancel reply

    You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>





    Łukasz Tomaszkiewicz

    Łukasz Tomaszkiewicz

    Pasjonat chmury, szczególnie AWSa, który nieustannie automatyzuje powtarzające się czynności i optymalizuje procesy, przy okazji wdrażając dobre praktyki dotyczące bezpieczeństwa. Jego szerokie doświadczenie w zakresie tworzenia oprogramowania, projektowania baz danych, a także wirtualizacji serwerów i zarządzania infrastrukturą w chmurze pozwala mu spojrzeć przekrojowo na współczesny stack technologiczny.

    W wolnym czasie fotograf, sporadycznie piszący blogger :) a także regularny prelegent na krakowskich grupach związanych z IT.

    Wyznawca Vim'a :)

    Kategorie

    • Ansible
    • AWS
    • C#
    • Chatboty
    • Cloud
    • Daj się poznać 2017
    • Docker
    • Inne
    • Linux
    • Open source
    • Organizacyjne
    • Prelekcje
    • Sieci komputerowe
    • SQL Server
    • Windows
    • Windows Server
    • Wirtualizacja

    Najczęściej czytane

    • Creating single node VSAN cluster
    • SQL Server – walidacja numerów PESEL i NIP
    • Konfiguracja serwera DHCP na routerach Cisco
    • Aktywacja routingu IP w Windows 7 / Windows Server 2008
    • Konwersja maszyn wirtualnych z ESXi do Hyper-V przy użyciu SCVMM 2012
    • Jak podłączyć program R do SQL Servera?

    Tagi

    .net ai ansible asp.net mvc aws aws cli bot builder bot framework c# centos certyfikaty chatbot chatboty cisco cmd docker dsp2017 esxi hyperv kontenery konteneryzacja linux mvc nlp openvpn plssug pobieranie powershell prelekcje rancher redhat router sieci smogbot sql server ssd ssl vmware vsphere windows windows mobile windows server wirtualizacja wit.ai wrzuta

    Copyright © 2006-2018 by Łukasz Tomaszkiewicz. Wszelkie prawa zastrzeżone