Настройка приватного Docker репозитория
Иногда требуется поднять свой собственный docker репозиторий для хранения своих docker образов.
Создание сети:
docker network create -d bridge --subnet=172.20.0.0/16 dockernet -o "com.docker.network.bridge.name"="dockernet"
Сеть нужна, чтобы у репозитория был статический IP адрес, к которому можно локально подключиться.
Запуск локального репозитория
docker pull bayrell/docker_registry_ui
docker volume create repo_data
docker run -d -it --ip=172.20.10.25 --network="dockernet" --restart=unless-stopped -v repo_data:/var/lib/registry --name registry bayrell/docker_registry_ui
Загрузка образа в локальный репозиторий
На всех хостах нужно прописать, что этот репозиторий не безопасный, т.к. использует http протокол nano /etc/docker/daemon.json
{
"insecure-registries" : ["172.20.10.25"],
"max-concurrent-downloads": 1,
"max-concurrent-uploads": 1
}
Команды max-concurrent-downloads и max-concurrent-uploads задают количество скачиваемых и закачиваемых одновременных потоков. Если соединение медленное, следует поставить 1.
После изменений в daemon.json следует перезапустить докер.
service docker restart
Загрузка докер образа
docker pull ubuntu:16.04
docker tag ubuntu:16.04 172.20.10.25/ubuntu:16.04
docker push 172.20.10.25/ubuntu:16.04