Вы используете Minikube и хотите запускать свои образы разработки, которые вы создаете локально. Это может показаться сложным, поскольку Minikube необходимо загружать ваши изображения из реестра, однако ваши изображения загружаются в локальный реестр.
В любом случае вы все равно можете использовать свои локальные изображения с Minikube, так что давайте начнем.
Перед запуском любого контейнера давайте выдадим.
1
|
> eval $(minikube docker- env ) |
Это фактически использует хост докера из Minikube для вашей текущей сессии bash.
Посмотреть на себя.
1
2
3
4
5
6
|
> minikube docker- env export 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-nginx CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 128ce006ecae 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/bash bash -4.4 # wget test-image Connecting to test -image (10.101.70.7:80) index.html 100% |***********************************************************************************************************| 612 0:00:00 ETA bash -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 and working. Further configuration is required.< /p > <p>For online documentation and support please refer to Commercial 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, являются их собственными. |