编写完项目代码后,为了稳定的运行,需要将其部署至服务器。这里我选择了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