Ostatnio opisywałem w jaki sposób stworzyć własne repozytorium Dockera do przechowywania prywatnych obrazów kontenerów. Podana instrukcja w zupełności wystarcza, aby uruchomić takowe repozytorium, jednak instancja Dockera uruchamiająca obrazy domyślnie wymaga połączenia HTTPS, a co za tym idzie – poprawnej struktury certyfikatów SSL. Jeśli nie chcemy takowej tworzyć pozostaje nam dodanie wyjątku do łączenia się przez HTTP do repozytorium. W tym wpisie zaprezentuję jak tego dokonać w systemie RancherOS.
RancherOS – podobnie jak kilka innych dystrybucji, np. CoreOS – jest konfigurowany przy pomocy mechanizmu cloud config. W przypadku RancherOS, po instalacji na dysku, plik konfiguracyjny jest przechowywany w katalogu /var/lib/rancher/conf/cloud-config.d/user_config.xml. Potrzebujemy w tym pliku dodać instrukcje wymuszające start instancji Dockera z parametrem insecure-registry. Dopisujemy więc do pliku ustawienie dla repozytorium pod przykładowym adresem registry.lab.luktom.net:500:
rancher: user_docker: args: [ docker, -d, -s, overlay, -G, docker, -H, 'unix:///var/run/docker.sock', '--insecure-registry registry.lab.luktom.net:5000' ]
Parametry przed insecure-registry to domyślne ustawienia, z jakimi uruchamiany jest Docker (instancja użytkownika) w RancherOS, zostawiamy je dla poprawnego działania systemu. Po tym zabiegu, przykładowy plik cloud-config wygląda następująco:
#cloud-config hostname: Rancher01 ssh_authorized_keys: - ssh-rsa [...] rancher: network: interfaces: eth0: address: 192.168.0.10/24 gateway: 192.168.0.1 dns: nameservers: - 192.168.0.1 user_docker: args: [ docker, -d, -s, overlay, -G, docker, -H, 'unix:///var/run/docker.sock', '--insecure-registry=registry.lab.luktom.net:5000' ]
Po dokonaniu edycji wystarczy restart hosta, aby zastosować zmiany i móc pobierać kontenery z rejestru pod adresem registry.lab.luktom.net:5000.
Dodaj komentarz