python django部署docker_使用docker部署python+django应用

• 环境:Ubuntu

1. 安装docker

▾ 测试是否安装成功

• 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-8EXPOSE7500ADD 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端口访问服务了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值