Вы используете Minikube и хотите запускать свои образы разработки, которые вы создаете локально. Это может показаться сложным, поскольку Minikube необходимо загружать ваши изображения из реестра, однако ваши изображения загружаются в локальный реестр.
В любом случае вы все равно можете использовать свои локальные изображения с Minikube, так что давайте начнем.
Перед запуском любого контейнера давайте выдадим.
|
1
|
> eval $(minikube docker-env) |
Это фактически использует хост докера из Minikube для вашей текущей сессии bash.
Посмотреть на себя.
|
1
2
3
4
5
6
|
> minikube docker-envexport DOCKER_TLS_VERIFY="1"export DOCKER_HOST="tcp://192.168.99.101:2376"export DOCKER_CERT_PATH="/Users/gkatzioura/.minikube/certs"# Run this command to configure your shell:# eval $(minikube docker-env) |
Затем раскрутите изображение nginx. Большинство команд взяты из этого урока.
|
1
2
3
4
|
>docker run -d -p 8080:80 --name my-nginx nginx>docker ps --filter name=my-nginxCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES128ce006ecae nginx "nginx -g 'daemon of…" 13 seconds ago Up 12 seconds 0.0.0.0:8080->80/tcp my-nginx |
Теперь давайте создадим изображение из запущенного контейнера.
|
1
|
docker commit 128ce006ecae dockerimage:version1 |
Тогда давайте запустим наш собственный образ на миникубе.
|
1
|
kubectl create deployment test-image --image=dockerimage:version1 |
Давайте также выставим сервис
|
1
|
kubectl expose deployment test-image --type=LoadBalancer --port=80 |
Давайте перейдем на следующий уровень и попробуем открыть наш сервис
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
> kubectl exec -it podwithbinbash /bin/bashbash-4.4# wget test-imageConnecting to test-image (10.101.70.7:80)index.html 100% |***********************************************************************************************************| 612 0:00:00 ETAbash-4.4# cat index.html<!DOCTYPE html><html><head><title>Welcome to nginx!</title><style> body { width: 35em; margin: 0 auto; font-family: Tahoma, Verdana, Arial, sans-serif; }</style></head><body><h1>Welcome to nginx!</h1><p>If you see this page, the nginx web server is successfully installed andworking. Further configuration is required.</p><p>For online documentation and support please refer toCommercial support is available at<p><em>Thank you for using nginx.</em></p></body></html> |
Обратите особое внимание, что вышеперечисленное будет работать только на терминале, который вы выполнили команду
|
1
|
eval $(minikube docker-env) |
Если вы хотите, вы можете просто настроить bash_profile, чтобы сделать это для каждого терминала, но это ваше дело.
В конце концов, это один из самых быстрых способов использовать ваши локальные изображения на Minikube, и, скорее всего, есть и другие доступные.
|
Опубликовано на Java Code Geeks с разрешения Эммануила Гкациоураса, партнера нашей программы JCG. Смотрите оригинальную статью здесь: Используйте локальное изображение докера на мини-кубе. Мнения, высказанные участниками Java Code Geeks, являются их собственными. |