Docker实践:容器化部署Python应用
2023-09-14 08:56:57 时间
简单应用部署
一、目录结构:
└── Pythonpro #目录
└── test.py #文件
└── requirements.txt #文件
└── Dockerfile #文件
二、编写Dockerfile文件
# 基于镜像基础 FROM python:3.6.4 # 创建代码文件夹工作目录 /code RUN mkdir /code # 复制当前代码文件到容器中 /code COPY . /code # 安装所需的包 RUN pip install -r /code/requirements.txt -i https://pypi.douban.com/simple # 指定cmd的工作目录 /code WORKDIR /code #容器启动时执行的命令 CMD ["python","test.py"]
三、创建容器镜像
docker build -t test .
四、运行容器
docker run -it --name test --restart always --privileged=true python-test
--name:指定容器的名字为python-test,test是刚刚构建的镜像。
--restart:always 容器退出时总是重启。
--privileged=true:执行容器内文件需要的权限。
Django应用容器化
一、目录结构,我这里假设这个目录存在于/home/Pythonpro。
└── Pythonpro #目录 └── manage.py #文件 └── 主项目 #目录 └── apps #目录 └── requirements.txt #文件 └── Dockerfile #文件 └── run.sh #文件
run.sh脚本
python /code/manage.py runserver 0.0.0.0:8000
二、编写Dockerfile文件
FROM python:3.6.4 RUN mkdir /code \ &&apt-get update \ &&apt-get -y install freetds-dev \ &&apt-get -y install unixodbc-dev COPY . /code RUN pip install -r /code/requirements.txt -i https://pypi.douban.com/simple WORKDIR /code CMD ["/bin/bash","run.sh"]
三、构建镜像
docker build -t webtest .
四、运行容器
docker run -it -p 6500:8000 -v /home/Pythonpro:/code --name web --restart always --privileged=true webtest
-p:把容器的8000端口映射到宿主机6500
-v:主机的目录/home/Pythonprot映射到容器的目录/code
--name:指定容器的名字为web,webtest刚刚构建的镜像
--restart:always 容器退出时总是重启
--privileged=true:执行容器内文件需要的权限
相关文章
- 《深入浅出Python机器学习》读书笔记 第一章 概述
- python skitlearn_Python sklearn
- python编程是什么-Python编程
- 简述python变量的命名规则_Python 变量命名规则
- python allure报告_Pytest+Allure 定制报告
- 【说站】python Pytest有什么特点
- python读取pkl_Python读取文件的一段内容
- 【好久不见】细评python绘制双y轴图的几种方法
- python post请求
- python图像多层小波分解_Python中图像小波分解与重构以及灰度图加噪
- python设置时间过期改变状态_Python Redis设置过期时间「建议收藏」
- 【代码】Python多线程执行并且按原本顺序返回[详细注释]
- 云原生之使用Docker部署Python应用
- 【Docker 系列】docker 学习 二,Docker 的常用命令
- 【Docker 系列】docker 学习六,DockerFile
- Docker - docker-compose搭建ELK服务
- Python函数(函数定义、函数调用)用法详解
- python实现的堆排序算法代码详解编程语言
- python基础7之python3的内置函数详解编程语言
- Linux查看Python版本的有效方法(linux查看python版本)
- GitLab的Python依赖扫描Docker镜像将换用Debian
- Python与MongoDB 无缝连接(python连接mongodb)
- setV:一个管理 Python 虚拟环境的 Bash 函数
- docker-Docker Registry私有仓库
- 下的应用玩转Python:Linux下的Python应用之旅(python在linux)
- Python在MSSQL中的应用实践(python与mssql)
- 探索Docker安装Oracle数据库的秘密(docker安装oracle)
- 用 Python 分析过去四年的比赛数据,实力最强的 NBA 球队原来是它