使用docker部署python+django应用

• 环境:Ubuntu

1. 安装docker

  • curl -sSL https://get.daocloud.io/docker | sh

  ▾ 测试是否安装成功

  • docker run hello-world

2. 安装python3.6 及设置中文环境

  ▾ 编辑dockerfile文件

  • vim dockerfile 

FROM ubuntu

 LABEL author="cityking"

 

 RUN apt-get update \

    && apt-get install -y apt-transport-https vim iproute2 net-tools ca-certificates curl wget software-properties-common\

    && add-apt-repository ppa:jonathonf/python-3.6\

    && apt-get update\

    && apt-get install -y python3.6\

    && apt install -y python3.6-dev\

    && apt-get install -y python3-distutils\

    && wget https://bootstrap.pypa.io/get-pip.py\

    && python3.6 get-pip.py\

    && update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 2\

    && apt-get install -y language-pack-zh*\

    && ln -s /usr/bin/python3 /usr/bin/python\

 ENV LANG C.UTF-8

▾ 构建镜像

  ▾ 在dockerfile文件所在目录执行

  • docker build -t ubuntu-python3.6 .

3. 运行环境并搭建python开发环境

  ▾ 本地python 环境迁移

  • pip freeze > requirement.txt

  ▾ 创建并运行容器进入shell环境

  • docker run -it —rm -v requirement.txt:/root/requirement.txt ubuntu-python3.6

  ▾ 检查当前时区是否正确

  ▾ date -R

    • 如果显示 Wed, 21 Aug 2019 15:26:22 +0800则不需更改时区

    ▾ 如果显示 Wed, 21 Aug 2019 15:26:22 +0000则需要更改时区

      • apt update (为了安装tzdata)

      • apt install tzdata (为了获取/usr/share/zoneinfo)

      • rm /etc/localtime

      • ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

      • date (显示为当前时区时间)

  ▾ 到root目录执行

  • pip install -r requirement.txt

  ▾ 提交改变之后的环境

  • docker ps 查看当前容器的id 假设容器id为 961d503e76d2

  ▾ 提交环境

  • docker commit 961d503e76d2 project_env

4. 拷贝项目文件、设置端口、以及启动命令

  ▾ 编辑dockerfile_http文件

  • vim dockerfile_http

FROM project_env

 ENV LANG C.UTF-8

 EXPOSE 7500

 ADD mypro/ /root/mypro/

 WORKDIR /root/mypro

 ENTRYPOINT ["python","manage.py","runserver"]

  ▾ 构建镜像

  • docker build -t mypro -f  dockerfile_http .

  • 不指定-f参数是,默认为当前目录的dockerfile文件

5. 运行环境,映射端口7500

  • docker run -it —rm -p 7500:7500 mypro 0.0.0.0:7500

6. 退出docker环境而不关闭服务

  • ctrl + p + q

  • 按住ctrl 然后依次按p和q

7. 至此就可根据7500端口访问服务了

猜你喜欢

转载自www.cnblogs.com/cityking5410/p/docker_django.html