目录
1 python镜像
2 安装flask
3 把项目文件扔进去
3.1 创建git仓库
3.2 上传文件
3.3 获取git链接
3.4 在容器中git clone
4 启动flask服务
5 将容器保存为镜像
6 映射端口运行镜像
7 遇到的问题
8 Dockerfile创建镜像
1 python镜像
首先找一下flask的镜像,发现没有官方的
我们转而下载python的镜像,然后在里面安装flask,我们就用第一个
然后把镜像拉下来
这个镜像本质上是一个装好python的linux
2 安装flask
3 把项目文件扔进去
我这里就直接以公网的服务器做例子,有很多种方式可以把文件弄进去。
- SSH,从本地弄到公网服务器上,然后docker cp进去
- 做一个文件的链接,在容器中直接用命令发get请求进行下载
下面说一下git的使用方法,这个不适合不能把源码放到git平台的项目
3.1 创建git仓库
3.2 上传文件
把文件拖进去
3.3 获取git链接
3.4 在容器中git clone
python镜像中已经安装好了git
4 启动flask服务
这里最好是不要出现中文
如果用的虚拟机可以直接访问到这个服务
但是到这还没结束,这只是在docker的内网中可以用,我们需要将端口映射出去,让实体机windows可以访问到
绿色的圈是一个内网,红色的圈是一个内网。在实际工作中,上图的虚拟机替换为服务器,实体机替换为用户
保存之前我把中文改掉了
然后把/home/test这个文件夹权限改为777
5 将容器保存为镜像
ctrl + c 结束服务,然后exit退出镜像,之后查看容器的ID
docker commit 保存镜像
6 映射端口运行镜像
docker中的端口是5000,我想映射到虚拟机的5001
之后就能在实体机windows上访问虚拟机的IP+端口了
7 遇到的问题
出现了这两个问题
把test这个文件夹权限调为777就行了
8 Dockerfile创建镜像
如果你想教别人用你的容器,手动搞终究是麻烦了一点,大量的命令需要放入容器,然后容器产生镜像,之后启动的时候也需要额外的命令。因此在手动搞过一遍或大概了解后,用Dockerfile更方便一些
Dockerfile内容。注意解压缩的时候需要cd到压缩包的位置,然后解压缩。CMD后面的命令不要加引号
根据dockerfile创建镜像 docker build -t suyu_flask_dockerfile:20240511 . --no-cache
- --no-cache是不使用之前的缓存
根据镜像创建容器,容器内是5000端口,虚拟机是5001端口
可以成功运行
可以在实体机访问服务