flask服务打包成docker镜像

目录

一、在pycharm中生成配置文件

1、Dockerfile文件

​2、requirements.txt文件以及生成方法

二、命令行执行docker命令生成镜像


一、在pycharm中生成配置文件

1、Dockerfile文件

Dockerfile 是一个文本文件,其内包含了一条条的指令(Instruction),用于构建镜像。每一条指令构建一层镜像,因此每一条指令的内容,就是描述该层镜像应当如何构建。 

  • dockerfile 用于指示 docker image build 命令自动构建Image的源代码
  • 是纯文本文件
  • FROM命令指定将在其上构建新镜像的基础容器镜像。
  • WORKDIR为容器内设置的工作目录,RUN CMD ENTRYPOINT都是在这个目录下进行的
  • ADD . /app将Dockerfile所在目录下的所有文件拷贝到容器内的/app目录下(也可用COPY)
  • RUN命令执行的为安装项目依赖
  • EXPOSE将容器内的端口暴露出去
  • CMD为容器启动时容器内执行的操作

简单配置:

 2、requirements.txt文件以及生成方法

requirements.txt 文件是项目的依赖包及其对应版本号的信息列表,即记载你这个项目所安装的依赖。

1、pip freeze方法 

扫描二维码关注公众号,回复: 14832516 查看本文章

终端输入:pip freeze > requirements.txt

如果你在写的项目是使用虚拟环境写的,就可以使用这个方法,因为这个方法会将你整个Python环境的包全把生成出来,如果你不是使用虚拟环境,使用这个方法,你会发现生成的文件,里面有很多你并不需要的包,这样docker安装依赖包的时候会有很多不需要的包被安装。

2、pipreqs第三方库 

安装第三方库:

pip install pipreqs

在当前项目路径下执行:

pipreqs ./ --encoding=utf8 --force

使用 pipreqs 可以自动检索到当前项目下的所有组件及其版本,并生成 requirements.txt 文件

--encoding=utf8 :为使用utf8编码

--force :强制执行,当 生成目录下的requirements.txt存在时覆盖 

. /: 在哪个文件生成requirements.txt 文件

二、命令行执行docker命令生成镜像

000:首先切换到Dockerfile所在目录

构建镜像

001:docker build -f Dockerfile -t 镜像名 .

启动镜像

002:docker run -p 8700:8700 镜像名

浏览器打开locahost:8700出现正确的内容即为成功

003:将镜像打包成 .tar 文件

docker save -o 名字.tar 镜像名

其他机器加载运行这个镜像

004:docker load -i 名字.tar   

然后docker run  -p 8700:8700 镜像名

猜你喜欢

转载自blog.csdn.net/weixin_57742734/article/details/127033739