目錄
- 1 文件上傳與新建目錄
- 2 修改requirements.txt文件
- 3 修改Dockerfile.txt文件
- 4 打包成鏡像
- 5 運(yùn)行啟動(dòng)
- 6 查看運(yùn)行狀態(tài)與日志
1 文件上傳與新建目錄
新建以下目錄,其中.py文件是自己上傳的
文件目錄
新建以下文件
2 修改requirements.txt文件
這里面寫的是運(yùn)行程序所需要的py包,比如你用到了httpx包就在里面加上這個(gè),用到什么加什么就可以了。以下我的實(shí)例
httpx fastapi[all]
3 修改Dockerfile.txt文件
這里面主要是寫入的運(yùn)行時(shí)的配置信息
# 引入python版本 FROM python:3.8 # 設(shè)置時(shí)間 RUN ln -sf /usr/share/zoneinfo/Asia/Beijing/etc/localtime # 輸出時(shí)間 RUN echo 'Asia/Beijing' >/etc/timezone # 設(shè)置工作目錄 WORKDIR /code # 復(fù)制該文件到工作目錄中,./requirements.txt表示當(dāng)前目錄下的requirements.txt文件。這里 # 的/code/requirements.txt是docker內(nèi)部自動(dòng)生成的工作目錄,不用自己創(chuàng)建的,請(qǐng)注意。 COPY ./requirements.txt /code/requirements.txt # 禁用緩存并批量安裝包(后面的鏈接是利用豆瓣源安裝,速度會(huì)加快) RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt -i https://pypi.douban.com/simple/ # 復(fù)制代碼到工作目錄 COPY ./app /code/app # 放開端口 EXPOSE 8001 # 命令行運(yùn)行,啟動(dòng)uvicorn服務(wù),指定ip和端口(--reload:讓服務(wù)器在更新代碼后重新啟動(dòng)。僅在開發(fā)時(shí)使用該選項(xiàng)。) CMD ["uvicorn", "app.main:app", "--reload", "--host", "0.0.0.0", "--port", "8001"]
你只需要更改這些位置即可。
1 ExPOSE 你的端口號(hào)
2 其中main為py的入口文件
4 打包成鏡像
docker build -t 鏡像名 .
實(shí)例:
docker build -t my_fast_sql .
5 運(yùn)行啟動(dòng)
docker run -d --name 鏡像名 -p 你的服務(wù)器端口:你的docker端口 容器名
實(shí)例
docker run -d --name my_fast_sql -p 8001:8001 my_s_f
6 查看運(yùn)行狀態(tài)與日志
docker ps docker logs 你的容器id