目录
1 文件上传与新建目录
文件目录
2 修改requirements.txt文件
3 修改Dockerfile.txt文件
4 打包成镜像
5 运行启动
6 查看运行状态与日志
1 文件上传与新建目录
新建以下目录,其中.py文件是自己上传的
文件目录
新建以下文件
2 修改requirements.txt文件
这里面写的是运行程序所需要的py包,比如你用到了httpx包就在里面加上这个,用到什么加什么就可以了。以下我的实例
httpx
fastapi[all]
3 修改Dockerfile.txt文件
这里面主要是写入的运行时的配置信息
# 引入python版本
FROM python:3.8
# 设置时间
RUN ln -sf /usr/share/zoneinfo/Asia/Beijing/etc/localtime
# 输出时间
RUN echo 'Asia/Beijing' >/etc/timezone
# 设置工作目录
WORKDIR /code
# 复制该文件到工作目录中,./requirements.txt表示当前目录下的requirements.txt文件。这里 # 的/code/requirements.txt是docker内部自动生成的工作目录,不用自己创建的,请注意。
COPY ./requirements.txt /code/requirements.txt
# 禁用缓存并批量安装包(后面的链接是利用豆瓣源安装,速度会加快)
RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt -i https://pypi.douban.com/simple/
# 复制代码到工作目录
COPY ./app /code/app
# 放开端口
EXPOSE 8001
# 命令行运行,启动uvicorn服务,指定ip和端口(--reload:让服务器在更新代码后重新启动。仅在开发时使用该选项。)
CMD ["uvicorn", "app.main:app", "--reload", "--host", "0.0.0.0", "--port", "8001"]
你只需要更改这些位置即可。
1 ExPOSE 你的端口号
2 其中main为py的入口文件
4 打包成镜像
docker build -t 镜像名 .
实例:
docker build -t my_fast_sql .
5 运行启动
docker run -d --name 镜像名 -p 你的服务器端口:你的docker端口 容器名
实例
docker run -d --name my_fast_sql -p 8001:8001 my_s_f
6 查看运行状态与日志
docker ps
docker logs 你的容器id