Docker Desktop включает автономный сервер и клиент Kubernetes, а также Docker интеграцию с интерфейсом командной строки. Сервер Kubernetes работает локально в вашем экземпляре Docker, не настраивается и представляет собой кластер с одним узлом.
См .: https://docs.docker.com/docker-for-windows/kubernetes/
Kubernetes сервер работает в контейнере Docker в вашей локальной системе и предназначен только для локального тестирования. Когда поддержка Kubernetes включена, вы можете развертывать свои рабочие нагрузки параллельно, в Kubernetes, Swarm или как отдельные контейнеры. Включение или отключение сервера Kubernetes не влияет на другие ваши рабочие нагрузки.
Вы можете развернуть стек в Kubernetes с помощью docker stack deploy
, файла docker-compose.yml
и имени стека.
docker stack deploy --compose-file /path/to/docker-compose.yml mystack
docker stack services mystack
Чтобы иметь возможность работать на кубернетах, укажите orchestrator
в развертывании стека.
docker stack deploy --orchestrator kubernetes --compose-file /path/to/docker-compose.yml mystack
- Создайте каталог тома для данных nexus. Я использовал каталог / nexus-data, который является точкой монтирования второго диска
- mkdir / nexus-data
- chown -R 200 / nexus-data
Примеры Приложения:
version: '3.3'
services:
traefik:
image: traefik:v2.2
container_name: traefik
restart: always
command:
- "--log.level=DEBUG"
- "--api.insecure=true"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=true"
- "--entrypoints.web.address=:80"
- "--entrypoints.websecure.address=:443"
ports:
- 80:80
- 443:443
networks:
- nexus
volumes:
- /var/run/docker.sock:/var/run/docker.sock
nexus:
container_name: nexus
image: sonatype/nexus3
restart: always
networks:
- nexus
volumes:
- /nexus-data:/nexus-data
labels:
- traefik.port=8081
- traefik.http.routers.nexus.rule=Host(`NEXUS.mydomain.com`)
- traefik.enable=true
- traefik.http.routers.nexus.entrypoints=websecure
- traefik.http.routers.nexus.tls=true
- traefik.http.routers.nexus.tls.certresolver=myresolver
networks:
nexus:
external: true