- Flask设置host=0.0.0.0和port=任意
- 打包为可执行文件,把可执行文件名改为my_app
- 创建文件名为app的文件夹(其实这个文件名是什么都无所谓)
- 在app文件夹内放入自己的可执行文件以及Dockerfile
- Dockerfile的具体内容如下
FROM ubuntu:latest # 基础镜像,会自己下载
# 执行命令行,反正就是安装一堆包
RUN apt-get update && apt-get install -y \
libgl1-mesa-glx \
libglib2.0-0 \
libsm6 \
libxext6 \
libxrender1
# 在docker内部创建/home/app文件夹
RUN mkdir -p /home/app
#将宿主机当前文件路径内的文件放入docker的/home/app下
COPY . /home/app/
#将docker的工作路径更改为/home/app
WORKDIR /home/app
# 暴露接口,默认暴露接口为80,如果flask用的80端口就不用改,就是要和你flask暴露的接口一样
# EXPOSE 5000
# 在当前工作路径下执行 ./my_app
CMD ["./my_app"]
- 构建镜像,在app文件夹下执行
docker build -t 自己的镜像名:版本号 .
,例如docker build zzy:v1 .
- 运行镜像
docker run --name 容器名 -p 自己的端口:容器内部暴露的端口 -d 自己的镜像名:版本号
,例如docker run --name zzy -p 3000:80 -d zzy-roads:latest
docker logs 容器名
查看是否运行
9. 用自己的主机连接服务器监听暴露端口的端口
ssh -p 服务器端口 -N -f -L 127.0.0.1:3001:localhost:3000 服务器用户名@服务器IP
就是实现了自己主机的3001监听服务器的3000,然后服务器的3000监听docker暴露的80
10. 然后在自己的主机上用apifox或者postman测试