Преглед садржаја
Подешавање приватног Docker регистра на Ubuntu 22.04
Docker регистар је складиште слика Docker-а, које омогућава чување, дистрибуцију и управљање конфигурацијама слика. Приватни регистар се користи за безбедно складиштење слика које нису доступне јавности и за повећање контроле над приступом сликама. У овом водичу ћемо објаснити како да подесите приватни Docker регистар на Ubuntu 22.04 користећи Docker Compose.
Предности приватног Docker регистра
* Повећана безбедност: Слике у приватном регистру су безбедне од неовлашћеног приступа јер су доступне само онима који имају одговарајућа овлашћења.
* Контрола приступа: Можете контролисати ко може да приступа и модификује слике у приватном регистру одређујући дозволе за коришћење.
* Оптимизоване перформансе: Чување слика у приватном регистру може смањити време преузимања јер се слике чувају локално, а не преузимају се са јавног регистра.
* Прилагођене конфигурације: Приватни регистар омогућава прилагођене конфигурације, што вам омогућава да ускладите регистар са својим специфичним потребама.
Потребности
* Сервер који ради на Ubuntu 22.04
* Привилеговани кориснички налог
* Docker инсталиран на серверу
* Docker Compose инсталиран на серверу
Како подесити приватни Docker регистар
1. Инсталирајте Docker Compose
Ако Docker Compose још увек није инсталиран на вашем серверу, можете га инсталирати помоћу следеће команде:
sudo apt update
sudo apt install docker-compose
2. Покрените Docker регистар
Можете покренути Docker регистар користећи Docker Compose. Креирајте датотеку docker-compose.yml
са следећим садржајем:
version: '3.8'
services:
registry:
image: registry:2
container_name: registry
ports:
- "5000:5000"
volumes:
- registry-data:/var/lib/registry
restart: always
У овој датотеци:
* image:
наводи верзију слике Docker регистра коју ћете користити.
* container_name:
наводи име контејнера за Docker регистар.
* ports:
мапира порт 5000 на вашем серверу на порт 5000 унутар Docker регистра.
* volumes:
мапира директоријум registry-data
на вашем серверу на директоријум /var/lib/registry
унутар Docker регистра. Овај директоријум се користи за складиштење података регистра.
Након што креирате датотеку docker-compose.yml
, извршите следећу команду да покренете Docker регистар:
docker-compose up -d
3. Конфигуришите регистар
Подразумевано, Docker регистар користи самопотписано уверење за осигурање комуникације. Међутим, препоручује се употреба потписаног уверења издатог од поверљивог сертификационог тела (CA). За стварање потписаног уверења, пратите ове кораке:
а. Креирајте CA
openssl genrsa -out ca.key 4096
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt -subj "/CN=docker-registry-ca"
б. Креирајте сертификат и кључ за регистар
openssl genrsa -out registry.key 4096
openssl req -new -key registry.key -out registry.csr -subj "/CN=docker-registry-server"
openssl x509 -req -days 3650 -CA ca.crt -CAkey ca.key -in registry.csr -out registry.crt
ц. Подесите TLS конфигурацију за регистар
Отворите датотеку registery/config.yml
и додајте следећи блок конфигурације:
insecure_registries:
- "localhost:5000"
Ово ће онемогућити проверу потписа за слике преузете из вашег приватног регистра.
Затим, додајте следећи блок конфигурације да бисте навели вашу TLS конфигурацију:
https:
certificate: /certs/registry.crt
key: /certs/registry.key
Где су /certs/registry.crt
и /certs/registry.key
путање до вашег потписаног сертификата и приватног кључа.
д. Креирајте тајну са вашим сертификатима
Покрените контејнер регистра заустављајући га и поново покрећући са следећом командом:
docker-compose down
docker-compose up -d
Ово ће створити тајну са вашим сертификатима и аутоматски их монтирати у контејнер регистра.
Приступ приватном регистру
Сада када сте подесили приватни Docker регистар, можете да му приступате помоћу следећих корака:
* а. Додајте репозиторијум регистра у своје Docker клијентске конфигурације
docker login <registry_address>:<port> -u username -p password
Где је registry_address
адреса вашег регистра, port
је порт на коме ради ваш регистар, username
је корисничко име за приступ регистру и password
је одговарајућа лозинка.
* б. Превуците слику у приватни регистар
docker pull <image_name>:<tag>
docker tag <image_name>:<tag> <registry_address>:<port>/<namespace>/<image_name>:<tag>
docker push <registry_address>:<port>/<namespace>/<image_name>:<tag>
Где је <image_name>:<tag>
име слике коју желите да превучете, <registry_address>:<port>
адреса и порт вашег приватног регистра и <namespace>/<image_name>:<tag>
жељени простор назива, име слике и ознака у приватном регистру.
Закључак
Подешавање приватног Docker регистра на Ubuntu 22.04 је једноставан процес који пружа бројне предности, укључујући повећану безбедност, контролу приступа и побољшане перформансе. Следећи кораке описане у овом водичу, можете лако да подесите приватни регистар и почнете да га користите за управљање вашим Docker сликама.
Често постављана питања (ФАК)
1. Које су алтернативе коришћењу Docker Compose за покретање Docker регистра?
Можете користити docker run
команду за ручно покретање Docker регистра или користити Kubernetes за управљање кластером Docker регистра.
2. Како могу да управљам аутентификацијом у свом приватном Docker регистру?
Можете да користите различите механизме аутентификације, као што су basic аутентификација, аутентификација преко token-а или аутентификација преко OAuth2.
3. Како могу да ограничим приступ одређеним сликама у свом приватном регистру?
Можете да користите контролу приступа засновану на улогама (RBAC) за креирање улога и придруживање корисницима или групама тим улогама. Дозволе за приступ сликама се затим могу управљати на основу улога.
4. Могу ли да интегришем свој приватни Docker регистар са другим алатима?
Да, можете да интегришете свој приватни регистар