编写完项目代码后,为了稳定的运行,需要将其部署至服务器。这里我选择了Docker去部署Django后端代码。

首先来看看Runoob对Docker的介绍:

我自己的理解,Docker能够大大降低开发人员移植环境时的复杂度,易于自动化部署,也易于不同环境之间相互隔离。

安装Docker

Docker必须部署在 Linux 内核的系统上,如果其他系统想部署 Docker 就必须安装一个虚拟 Linux 环境。所以Windows或者Mac用户的官方安装方式是安装Docker Desktop客户端,实质上还是在虚拟机中安装Docker。

制作Docker镜像

有以下两种方式制作镜像:

1.从已经创建的容器中更新镜像,并且提交这个镜像。下次想要复用时,则是从镜像仓库拉取该镜像。

2.使用 Dockerfile 文件来创建一个新的镜像,下次想要复用时,只需要使用docker build指令再次调用Dockerfile创建镜像即可。

这里推荐第2种方式来制作镜像,因为Dockerfile文件能够清晰地记录制作镜像的具体步骤,方便作者去回顾以及保持镜像简洁。

以下是我制作镜像时的Dockerfile文件:

FROM ubuntu:16.04

ENV LANG C.UTF-8
ENV TZ=Asia/Shanghai

RUN sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list && \
    apt-get clean && \
    ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && \
    apt-get update && \
    apt-get upgrade -y && \
    apt-get install -y \
    software-properties-common &&\
    add-apt-repository ppa:deadsnakes/ppa &&\
    apt-get update && \
    apt-get install -y \
    python3.7 && \
    update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 1 && \
    apt-get install -y \
    libpython3.7-dev \
    python3-setuptools \
    python3-pip \
    git \
    tzdata && \
    dpkg-reconfigure --frontend noninteractive tzdata


WORKDIR /opt/workspace/TestPlatformBackend/

COPY . .

RUN  pip3 install -r ./requirements.txt -i \
    https://pypi.tuna.tsinghua.edu.cn/simple \
    --default-timeout=100

EXPOSE 5000

CMD bash ./start.sh
10-23 19:04