小白如何建网站,京东网站项目建设规划书,公司介绍模板英文,做网站和app报价文章目录 摘要项目结构项目开发项目上线参考文章 摘要
本文介绍了如何在Windows 10系统上使用PyCharm专业版2024.1#xff0c;通过Docker容器在阿里云CentOS 7.9服务器上进行Python项目的开发和生产部署。文章详细阐述了项目结构的搭建、PyCharm的使用技巧、以及如何将开发项… 文章目录 摘要项目结构项目开发项目上线参考文章 摘要
本文介绍了如何在Windows 10系统上使用PyCharm专业版2024.1通过Docker容器在阿里云CentOS 7.9服务器上进行Python项目的开发和生产部署。文章详细阐述了项目结构的搭建、PyCharm的使用技巧、以及如何将开发项目部署为生产镜像并利用Pycharm和容器卷挂载技术实现项目结构和内容在本地、远程服务器、Docker容器内部的一致性。文章有助于读者更好地理解和实践在Windows系统上使用PyCharm连接Docker容器进行Python项目开发与部署。
项目结构
假设你的项目名称为 flask_project项目结构如下
flask_project/
│
├── DockerfileBase # 基础 Dockerfile用于构建开发环境
├── DockerfileProd # 生产环境 Dockerfile基于基础镜像
├── app/
│ ├── __init__.py
│ ├── app.py # Flask 应用的主文件
├── requirements.txt # 项目依赖文件
└── README.md # 项目说明文件DockerfileBase 在项目的根目录下创建一个名为 DockerfileBase 的文件并写入以下内容 # 使用官方 Python 3.8 镜像
FROM python:3.8# 安装设置ssh服务
RUN apt-get update \apt-get install -y openssh-server openssh-client \echo root:abcdef123456 | chpasswd \echo PermitRootLogin yes /etc/ssh/sshd_config
# 创建并设置权限
RUN mkdir -p /run/sshd \chown root:root /run/sshd \chmod 755 /run/sshd# 安装必要的软件包
RUN apt-get install -y sudo vim# 设置系统时区为上海
RUN rm -f /etc/localtime
RUN ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime echo Asia/Shanghai /etc/timezone# 暴露 SSH 端口
EXPOSE 22# 启动 SSH 服务
CMD [/usr/sbin/sshd, -D]DockerfileProd 在项目的根目录下创建一个名为 DockerfileProd 的文件并写入以下内容 # 使用自己构建 Python 3.8 镜像作为基础镜像
FROM python-3.8-base:1.0# 设置容器内的工作目录为 /opt/project/flask_project
WORKDIR /opt/project/flask_project# 将当前目录下的所有文件复制到容器的工作目录
COPY . /opt/project/flask_project# 安装 Flask 应用所需的依赖
RUN pip install --no-cache-dir -r requirements.txt# 暴露 Flask 应用运行的端口 5000
EXPOSE 5000# 定义容器启动时执行的命令来运行 Flask 应用
CMD [python, ./app.py]app/app.py 在 app 目录下创建一个名为 app.py 的文件并写入以下 Flask 应用代码 from flask import Flaskapp Flask(__name__)app.route(/)
def hello_world():return Hello, World!if __name__ __main__:app.run(host0.0.0.0, port5000)app/requirements.txt 在 app 目录下创建一个名为 requirements.txt 的文件并写入以下内容 Flask3.0.3README.md 在 README.md 写入项目相关的说明 基于PyCharm在Windows系统上远程连接Linux服务器中Docker容器进行Python项目开发与部署项目开发 构建基础镜像 首先你需要创建一个基础的 Docker 镜像这个镜像将包含你开发环境中所需的所有基本组件。 登录远程服务器新建DockerfileBase文件mkdir /opt/project/flask_project
touch DockerfileBase写入以下内容到 DockerfileBase# 使用官方 Python 3.8 镜像
FROM python:3.8# 安装设置ssh服务
RUN apt-get update \apt-get install -y openssh-server openssh-client \echo root:abcdef123456 | chpasswd \echo PermitRootLogin yes /etc/ssh/sshd_config
# 创建并设置权限
RUN mkdir -p /run/sshd \chown root:root /run/sshd \chmod 755 /run/sshd# 安装必要的软件包
RUN apt-get install -y sudo vim# 设置系统时区为上海
RUN rm -f /etc/localtime
RUN ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime echo Asia/Shanghai /etc/timezone# 暴露 SSH 端口
EXPOSE 22# 启动 SSH 服务
CMD [/usr/sbin/sshd, -D]构建基础镜像docker build -f DockerfileBase -t python-3.8-base:1.0 .运行开发环境容器 使用基础镜像运行开发环境容器并映射必要的端口。 docker run -d \--name python-dev \-p 5000:5000 \-p 10022:22 \-v /opt/project/flask_project:/opt/project/flask_project \python-3.8-base:1.0Pycharm新建本地项目 在 PyCharm 中创建一个新的项目 点击 “File”文件 “New Project”新建项目项目名称flask_project项目位置E:\opt\projectPython 虚拟环境位置E:\opt\project\flask_project\.venv 注意Python虚拟环境不重要下面会修改Python解析器为远程服务器Docker容器解释器。 Pycharm远程连接开发容器 配置远程解释器 填写配置信息如下 配置项值Host主机地址your-service-ipPort端口10022Username用户名rootPassword密码abcdef123456Sync Folder文件同步目录/opt/project/flask_project 配置过程截图如下 修改项目同步配置 移除E:\opt\project\flask_project\.venv 向服务器同步 安装项目依赖 登录远程容器服务器 Pycharm中点击Terminal, 出现终端后点击向下三角 出现上面配置的远程解释器所在服务器信息 选择进入服务器。 创建 requirements.txt cd /opt/project/flask_project
touch requirements.txt写入以下内容 Flask3.0.3安装项目依赖 pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple创建应用 在项目中创建Flask应用目录app/和文件app.py 项目结构如下 flask_project/
│
├── DockerfileBase # 基础 Dockerfile用于构建开发环境
├── app/
│ ├── __init__.py
│ ├── app.py # Flask 应用的主文件
└── requirements.txt # 项目依赖文件文件内容 写入以下内容到app/app.py中 from flask import Flaskapp Flask(__name__)app.route(/)
def hello_world():return Hello, World!if __name__ __main__:app.run(host0.0.0.0, port5000)如下图所示 运行应用 在 PyCharm 中右键运行 app.py 文件。 访问应用 访问 http://server-ip:5000 来查看 Flask 应用的输出。
项目上线 构建生产镜像 首先你需要创建一个生产的 Docker 镜像这个镜像将包含你开发环境中所需的所有基本组件。 登录远程服务器新建DockerfileProd文件mkdir /opt/project/flask_project
touch DockerfileProd写入以下内容到 DockerfileProd# 使用自己构建 Python 3.8 镜像作为基础镜像
FROM python-3.8-base:1.0# 设置容器内的工作目录为 /opt/project/flask_project
WORKDIR /opt/project/flask_project# 将当前目录下的所有文件复制到容器的工作目录
COPY . /opt/project/flask_project# 安装 Flask 应用所需的依赖
RUN pip install --no-cache-dir -r requirements.txt# 暴露 Flask 应用运行的端口 5000
EXPOSE 5000# 定义容器启动时执行的命令来运行 Flask 应用
CMD [python, ./app.py]构建基础镜像docker build -f DockerfileProd -t flask-project-python-3.8:1.0 .运行容器 使用生产镜像运行生产环境容器并映射必要的端口。 docker run -d \--name flask-project-prod \-p 10000:5000 \flask-project-python-3.8:1.0访问应用 访问 http://server-ip:10000 来查看 Flask 应用的输出。 重启、停止和删除容器: 当你希望重启停止并删除容器时可以使用以下命令 # 重启容器
docker restart flask-prod-prod
# 停止容器
docker stop flask-prod-prod
# 删除容器
docker rm flask-project-prod参考文章
Dockerfile 简介与 镜像构建指南 pycharm 远程连接docker容器调试程序 pycharm如何连接远程服务器的docker容器进行运行和调试代码一 PyCahrm部署Docker镜像解释器 FlaskGunicornDocker最佳实践 DockerFlaskGunicorn上线项目