1

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 Alias以便我们可以连接到 Google Memorystore/Redis

构建和推送

$ 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 上配置了 Daphne。如果你们有其他解决方案,请给我你的建议。

4

1 回答 1

1

system不包含在Ubuntu:18.04docker 映像中。

使用. ENTRYPOINT_ ExecStart_project-daphne.service

于 2019-03-24T12:22:47.913 回答