CoreOS: Установка Private Repository

Установка Private Repository

Для чего нужен частный репозиторий:

  • Для локального хранения образов Docker.
  • Для хранения образов, которые по требованиям безопасности нельзя выкладывать в общий доступ.
  • Для ускорения создания новых образов, тестирования.

Еще следует отметить, что большинство образов в публичных репозиториях никак не контролируется.

Шаги:

  • Установить минимальный образ CentOS
  • Отключить selinux
  • Настроить сеть, имя хоста
  • Подключить yum репозиторий epel
  • Провести обновление пакетов
  • Создать папку /docker-registry
    yum install docker-io, docker-repository
    mkdir -p /usr/lib/python2.6/site-packages/backports/lzma
    cp -r /usr/lib64/python2.6/site-packages/backports/lzma/* /usr/lib/python2.6/site-packages/backports/lzma
    cp -r /usr/lib64/python2.6/site-packages/backports.lzma-0.0.2-py2.6.egg-info /usr/lib/python2.6/site-packages/

У меня при установке возникла проблема с запуском службы docker-registry. Проблема была связана с тем, что docker-registry нужны были файлы от 32битного питона, а нужные библиотеки, в частности, backport-lzma, находились в 64битном питоне.

в файле /etc/docker-registry.yml измените следующие строки

     sqlalchemy_index_database: _env:SQLALCHEMY_INDEX_DATABASE:sqlite:////docker-registry/docker-registry.db
     storage_path: /var/lib/docker-registry

Добавим службы в автозагрузку, запустим службы.

    chkconfig docker on
    chkconfig docker-registry on
    service docker start
    service docker-registry on

Проверим работу частного репозитария

[nurmukhamed@hub ~]$ sudo netstat -anp| grep ":5000"
tcp        0      0 0.0.0.0:5000                0.0.0.0:*                   LISTEN      3040/python

Работает, отлично. Переходим к следующей главе.

comments powered by Disqus