Иногда требуется поднять свой собственный docker репозиторий для хранения своих docker образов.

Создание сети:

_x000D_docker network create -d bridge --subnet=172.20.0.0/16 dockernet -o "com.docker.network.bridge.name"="dockernet"

Сеть нужна, чтобы у репозитория был статический IP адрес, к которому можно локально подключиться.

Запуск локального репозитория

_x000D_docker pull bayrell/docker_registry_ui_x000D_docker volume create repo_data_x000D_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

_x000D_{_x000D_ "insecure-registries" : ["172.20.10.25"],_x000D_ "max-concurrent-downloads": 1,_x000D_ "max-concurrent-uploads": 1_x000D_}

Команды max-concurrent-downloads и max-concurrent-uploads задают количество скачиваемых и закачиваемых одновременных потоков. Если соединение медленное, следует поставить 1.

После изменений в daemon.json следует перезапустить докер.

_x000D_service docker restart

Загрузка докер образа

_x000D_docker pull ubuntu:16.04_x000D_docker tag ubuntu:16.04 172.20.10.25/ubuntu:16.04_x000D_docker push 172.20.10.25/ubuntu:16.04