Anconda:https://www.anaconda.com/products/distribution#Downloads
pip freeze > reauirments.txt
pip download -d py_pkgs -r requirments.txt
Docker要求CentOS系统的内核版本高于 3.10 ,通过 uname -r 命令查看你当前的内核版本是否支持安账docker。
>uname -r

注意:先切换root用户:su root
yum install -y yum-utils \
> device-mapper-persistent-data \
> lvm2 --skip-broken
2.3.1 设置docker镜像源
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
yum makecache fast
2.3.2 安装Docker
yum install -y docker-ce
docker version

sudo systemctl start docker
sudo systemctl enable docker



a.查询docker安装过的包:
yum list installed | grep docker
b.删除安装包:
yum remove docker-ce.x86_64 ddocker-ce-cli.x86_64 -y
c.删除镜像/容器等:
rm -rf /var/lib/docker
docker pull silverlogic/python3.6
sudo vim gunicorn.conf.py
添加一下代码:
workers = 5
worker_class = "gevent"
bind = "0.0.0.0:8080"
3.1 创建Dockerfile文件
sudo vim Dockerfile
先借一张图介绍一下 dockerfile:

添加以下代码到Dockerfile文件中:
FROM python:3.6.2
MAINTAINER name name@163.com
WORKDIR /flask_project
COPY requirements.txt ./
RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
COPY . .
CMD ["gunicorn", "app_flask:app", "-c", "./gunicorn.conf.py"]
以下不用添加
解释一下参数:
FROM # 指明你创建的镜像,他的基础镜像是谁
MAINTAINER # 维护者信息
COPY # 将宿主机的文件cp到创建的镜像当前路径下
RUN # 你需要在创建镜像之前,需要执行的命令
CMD # 创建容器后执行的第一个命令
我这里镜像的名字直接做成flask_demo了
docker build -t flask_demo:1.0 .

制作完成了,可以看到还是蛮大的,接下来就是使用它了
docker image ls -a | grep flask_demo
docker images | grep flask_demo
两个命令一样,喜欢用哪一个看你自己啊

创建:
docker run -it --name=flask_app -p 5001:8080 flask_demo:1.0

解释一下参数
–name # 是给你创建的容器起一个名字,在后续进行容器操作的时候可以直接使用名字,不用在使用id
-p # 将宿主机的端口映射到容器中
docker ps -a | grep flask_app
docker container ls -a | grep flask_app
两个命令一样啊,用哪个都可以

再次启动:
docker container start flask_app

进入容器中看看:
docker exec -it flask_app /bin/bash

docker save -o flask_image.tar flask_demo:1.0

打开看一下(这个命令是打开当前路径的文件夹)
nautilus ./
可以看到文件是存在的

下边这个文件,你可以添加绝对路径来导入,我是由于就在当前路径下,直接这样写了
docker load --input flask_image.tar
是载入成功的,由于我之前的镜像没有删除,这里没有区别开:

到此,flask项目使用docker就完整完成了。