Я начал кластер Kubernetes с Minikube. Я использовал простой файл развертывания, чтобы создать развертывание, в котором выполняется контейнер реестра:
apiVersion: apps/v1
kind: Deployment
metadata:
name: registry
labels:
app: registry
spec:
replicas: 3
selector:
matchLabels:
app: registry
template:
metadata:
labels:
app: registry
spec:
containers:
- name: registry
image: registry:latest
ports:
- containerPort: 80
После этого я раскрываю развертывание с помощью службы:
$ kubectl expose deployment/registry --type="LoadBalancer" --port 5000
$ minikube service registry
Это подвергает мой реестр хост-машина. Я могу перейти к http://172.17.174.88:31826/v2/_catalog
в своем браузере и увидеть, что еще нет репозиториев. У меня есть образ, запускающий ASP. Net проект WebApi с именем WeatherApp
на моей хост-машине docker. Я запускаю эти команды:
$ docker tag 0a259f7ce186 172.17.174.88:31412/weatherapp
$ docker push 172.17.174.88:31412/weatherapp
Это вызывает следующую ошибку:
Pu sh относится к хранилищу [172.17.174.88:31412/weatherapp] Get https://172.17.174.88: 31412 / v2 / : dial tcp 172.17.174.88:31412: connect: нет маршрута к хосту
Мне кажется, проблема в том, что мой docker клиент пытается подключиться в реестр через HTTPS, который не будет работать. Как я могу заставить моего docker клиента использовать HTTP для отправки sh изображения в мой реестр?