==== docker-registry ====
основные комманды
Скачать образ node
werwolf@server-demo:~/projects/docker-demo-5$ docker pull node
# Скачать все образы для сервисов
werwolf@server-demo:~/projects/docker-demo-5$ docker-compose pull
# Поиск rabbitmq в репозиториях DockerHub
docker search rabbit
==== Регистрация в docker-registry на github, и пулл своего образа ====
cat token.txt | docker login https://docker.pkg.github.com -u werwolf1000 --password-stdin
WARNING! Your password will be stored unencrypted in /home/werwolf/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
Создаем нужный тег для своего образа
werwolf@server-demo:~/projects$ docker images
docker-demo-5-api latest ae313e5d4321 13 hours ago 112MB
werwolf@server-demo:~/projects$ docker tag docker-demo-5-api:latest docker.pkg.github.com/werwolf1000/kma/test:latest
werwolf@server-demo:~/projects$ docker images
docker-demo-5-api latest ae313e5d4321 13 hours ago 112MB
werwolf@server-demo:~/projects$ docker images
docker.pkg.github.com/werwolf1000/kma/test latest ae313e5d4321 13 hours ago 112MB
Заливаем наш образ на github
werwolf@server-demo:~/projects$ docker push docker.pkg.github.com/werwolf1000/kma/test:latest
The push refers to repository [docker.pkg.github.com/werwolf1000/kma/test]
1e5de4aa6531: Pushed
a500cea47571: Pushed
7ab428981537: Pushed
82b81d779f83: Pushed
d626a8ad97a1: Pushed
latest: digest: sha256:b9efc0985a04761ea7a2c23d806acf0ce0c147c9e8e8265839bb3b4a984de016 size: 1365
==== Поднимаем свой registry ====
# Конфигурация для развертывания своего реестра образов
werwolf@server-demo:~/projects/docker-registry$ cat docker-compose.yaml
version: '3'
services:
registry:
restart: always
image: registry:2
ports:
- "5000:5000"
volumes:
- ./data:/var/lib/registry
#Залить
werwolf@server-demo:~/projects/docker-registry$ docker push localhost:5000/app
Using default tag: latest
The push refers to repository [localhost:5000/app]
1e5de4aa6531: Pushed
a500cea47571: Pushed
7ab428981537: Pushed
82b81d779f83: Pushed
d626a8ad97a1: Pushed
latest: digest: sha256:b9efc0985a04761ea7a2c23d806acf0ce0c147c9e8e8265839bb3b4a984de016 size: 1365
#Скачать
werwolf@server-demo:~/projects/docker-registry$ docker pull localhost:5000/app:latest
latest: Pulling from app
f2aa67a397c4: Already exists
3c091c23e29d: Already exists
4a99993b8636: Already exists
bac801ed1a06: Already exists
b6088a8b5ccf: Already exists
Digest: sha256:b9efc0985a04761ea7a2c23d806acf0ce0c147c9e8e8265839bb3b4a984de016
Status: Downloaded newer image for localhost:5000/app:latest
localhost:5000/app:latest
==== Как получить список изображений в реестре Docker v2 ====
Предположим нам нужно запушить к себе сторонний образ mariadb 10-й версии
сделаем на образ свой тег
sergey.anchikin@mskl-129:~/projects/rpc.server$ docker tag mariadb:10 localhost:5000/mariadb:10
Пушим в registry
sergey.anchikin@mskl-129:~/projects/rpc.server$ docker push localhost:5000/mariadb:10
The push refers to repository [localhost:5000/mariadb]
a26a2156423b: Pushed
30434f267c8b: Pushed
f2d7654699ad: Pushed
b03e09bb2c7c: Pushed
b7b868c5f5b9: Pushed
f091c51c915a: Pushed
c9a03411c9c9: Pushed
1a102d1cac2b: Pushed
10: digest: sha256:198da5aecbe24bcb81939ca4376f116e25c310fc4334ed60d0ab5a06b1984503 size: 1990
Проверяем что лежит у нас в нашем локальном registry
sergey.anchikin@mskl-129:~/projects/rpc.server$ curl -X GET http://localhost:5000/v2/_catalog
{"repositories":["handler","mariadb","rabbitmq"]}
Перечислите все теги репозитория:
sergey.anchikin@mskl-129:~/projects/rpc.server$ curl -X GET http://localhost:5000/v2/mariadb/tags/list
{"name":"mariadb","tags":["10"]}