Docker打包

62 阅读1分钟
  1. Flask设置host=0.0.0.0和port=任意

image.png

  1. 打包为可执行文件,把可执行文件名改为my_app
  2. 创建文件名为app的文件夹(其实这个文件名是什么都无所谓)
  3. 在app文件夹内放入自己的可执行文件以及Dockerfile
  4. 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"]
  1. 构建镜像,在app文件夹下执行docker build -t 自己的镜像名:版本号 . ,例如docker build zzy:v1 .
  2. 运行镜像docker run --name 容器名 -p 自己的端口:容器内部暴露的端口 -d 自己的镜像名:版本号,例如docker run --name zzy -p 3000:80 -d zzy-roads:latest
  3. docker logs 容器名查看是否运行

image.png 9. 用自己的主机连接服务器监听暴露端口的端口
ssh -p 服务器端口 -N -f -L 127.0.0.1:3001:localhost:3000 服务器用户名@服务器IP
就是实现了自己主机的3001监听服务器的3000,然后服务器的3000监听docker暴露的80 10. 然后在自己的主机上用apifox或者postman测试

image.png