目录
一、在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方法
终端输入: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 镜像名