Как запустить сервис Django Daphne в Google Kubernetes Engine и Реестре контейнеров Google - PullRequest
2 голосов
/ 24 марта 2019

Dockerfile

FROM ubuntu:18.04
RUN apt-get update
RUN apt-get install build-essential -y
WORKDIR /app
COPY . /app/

# Python
RUN apt-get install python3-pip -y
RUN python3 -m pip install virtualenv
RUN python3 -m virtualenv /env36
ENV VIRTUAL_ENV /env36
ENV PATH /env36/bin:$PATH
RUN pip install --upgrade pip
RUN pip install -r requirements.txt

# Start Daphne [8443]
ENV DJANGO_SETTINGS_MODULE=settings
CMD daphne -e ssl:8443:privateKey=/ssl-cert/privkey.pem:certKey=/ssl-cert/fullchain.pem asgi:application

# Open port 8443
EXPOSE 8443

Включить Google Псевдоним IP , чтобы мы могли подключиться к Google Memorystore / Redis

Build & Push

$ docker build -t [GCR_NAME] -f path/to/Dockerfile .
$ docker tag [GCR_NAME] gcr.io/[GOOGLE_PROJECT_ID]/[GCR_NAME]:[TAG]
$ docker push gcr.io/[GOOGLE_PROJECT_ID]/[GCR_NAME]:[TAG]

Развертывание в GKE

$ envsubst < k8s.yml > patched_k8s.yml
$ kubectl apply -f patched_k8s.yml
$ kubectl rollout status deployment/[GKE_WORKLOAD_NAME]

Я настроил Дафну в GKE / GCR. Если у вас есть другие решения, пожалуйста, дайте мне ваш совет.

1 Ответ

1 голос
/ 24 марта 2019

system не включено в образ докера Ubuntu:18.04.

Добавьте ENTRYPOINT в ваш Dockerfile с командами в свойстве ExecStart project-daphne.service.

...