В настоящее время я создал образ docker для Ubuntu 14.04, скачав его с сайта dockerhub, и выполнил запуск docker на этом образе, чтобы создать экземпляр контейнера этого образа. Затем я установил сервер Apache внутри этого работающего контейнера и запустил сервер из этого контейнера.
Как теперь развернуть этот Docker-контейнер с помощью Kubernetes?
решение1
Обычно:
- Ваш образ docker не должен запускать Apache, только код сервера (например, tomcat, springboot или что-то еще). Значительная часть того, что было сделано Apache, выполняется инфраструктурой K8S. В тех немногих случаях, когда Apache необходим (например, для обслуживания статического контента), это может быть другой контейнер в том же "pod", что и ваш серверный контейнер.
- Чтобы создать образ, вам не нужно делать
docker run
, вы создаете Dockerfile и выполняете надлежащийdocker build
. - Kubernetes (он же K8S) — это не утилита развертывания, это инфраструктура для запуска и мониторинга контейнеров. Развертывание — это лишь малая ее часть.
- Если у вас нет работающей инфраструктуры, вам придется ее создать. Для одного контейнера это излишество(*). Вы можете посмотреть на
docker-compose
простые развертывания. Многие вещи, которые вы делаете,docker-compose
позже можно перевести в K8S. Чтобы запустить некоторые контейнеры в образе Linux, вы просто создаете службу systemd, которая их запускает. - Если у вас есть инфраструктура K8S, вы можете развернуть контейнеры/модули через консоль в качестве первого шага, а затем научиться использовать
kubectl
. Но люди, которые создали эту инфраструктуру, вероятно, могут помочь (и у них будут свои собственные стандарты развертывания).
- Если у вас нет работающей инфраструктуры, вам придется ее создать. Для одного контейнера это излишество(*). Вы можете посмотреть на
(*) и учитывая ваши очевидные текущие навыки Docker, это будет довольно сложно. Это должно быть сделано правильно, чтобы работать (и не быть взломанным в первые дни существования).