学习用docker部署flask

    准备一个干净的requirements.txt
    pip list —format=freeze > requirements.txt
    https://stackoverflow.com/questions/64500342/creating-requirements-txt-in-pip-compatible-format-in-a-conda-virtual-environmen

    准备一个Dockfile

    1. FROM python:3.8-slim-buster
    2. RUN mkdir /flaskr
    3. WORKDIR /flaskr
    4. COPY requirements.txt requirements.txt
    5. ADD . /flaskr
    6. RUN pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
    7. EXPOSE 5000
    8. COPY . .
    9. ENV LANG C.UTF-8
    10. CMD [ "gunicorn", "flaskr:create_app()" , "-c", "./flaskr/gunicorn.conf.py"]
    1. docker image build -t flaskr .

    docker image build -t flaskr .

    思路是首先在本地Build一个image,然后上传到自己的docker hub
    先本地run起来试一试
    docker run —name flaskr -p 5001:5000 flaskr
    image.png
    本地Ok

    就可以上传到自己的dockerhub

    1. docker login --username username
    2. docker tag flaskr kinarl/myflaskr:version2.0
    3. docker push kinarl/myflaskr:version2.0

    然后登录阿里云服务器,把最新的镜像拉下来,跑起来即可

    1. docker pull kinarl/myflaskr:version2.0
    2. 查看当前的
    3. docker ps
    4. 删除无用的docker进程
    5. docker rm -f ContainerId
    6. 跑一个新的进程
    7. docker run --name flaksr -p 5001:5000 kinarl/myflaskr:version2.0
    8. docker run --name drillprocess -p 5001:5000 -d kinarl/drillprocess:v2

    删除 none images
    docker rmi docker images | grep "<none>" | awk {'print $3'}
    删除image
    docker rmi imageshaId

    https://stackoverflow.com/questions/28349392/how-to-push-a-docker-image-to-a-private-repository