windows下Docker部署Flask的详细教程

Docker默认安装路径是在C盘,Windows中修改Docker**默认安装****路径方法:

1.先创建 D:\Program Files\Docker 目录

2.运行命令,创建链接

mklink /J "C:\Program Files\Docker"  "D:\codeSoftware\Docker"

在这里插入图片描述

3.点击exe安装完成后,查看版本

docker -v

在这里插入图片描述

4.运行docker的hello world

docker run hello-world

在这里插入图片描述

查看镜像

docker images

在这里插入图片描述

5.docker部署flask例子

5.1 新建Flaskdemo 新建虚拟环境

python -m venv venv

激活

.\venv\Scripts\activate

安装Flask

pip install Flask

app.py代码

from flask import Flask
app = Flask(__name__)

@app.route('/')
def index():
    return "hello,learn docker"
if __name__ == '__main__':
    app.run(host="0.0.0.0",port=7001,debug=True)

5.2 创建DockerFile文件

注:放在项目的根目录下,然后根据里面的指令来配置具体项目所需的环境

这里使用的是vscode里面的插件docker

Ctrl+Shift+P,输入docker:add

在这里插入图片描述

即可依据框架选择,然后自动生成

在这里插入图片描述

# For more information, please refer to https://aka.ms/vscode-docker-python
FROM python:3.8-slim

EXPOSE 5001

# Keeps Python from generating .pyc files in the container
ENV PYTHONDONTWRITEBYTECODE=1

# Turns off buffering for easier container logging
ENV PYTHONUNBUFFERED=1

# Install pip requirements
COPY requirements.txt .
RUN python -m pip install -r requirements.txt

WORKDIR /app
COPY . /app

# Creates a non-root user with an explicit UID and adds permission to access the /app folder
# For more info, please refer to https://aka.ms/vscode-docker-python-configure-containers
RUN adduser -u 5678 --disabled-password --gecos "" appuser && chown -R appuser /app
USER appuser

# During debugging, this entry point will be overridden. For more information, please refer to https://aka.ms/vscode-docker-python-debug
CMD ["gunicorn", "--bind", "0.0.0.0:5001", "app.app:app"]

本次demo的目录结构

在这里插入图片描述

5.3 构建镜像

docker build -t docker_flask_demo .

docker build命令主要是用于创建镜像,当中的参数-tag-t 代表的是镜像的名字及标签

在这里插入图片描述

5.4 运行容器

使用docker run命令基于镜像运行一个容器

常用的参数有:

  • -d 代表容器在后台运行
  • --name 代表别名
  • -p:用于配置宿主机与容器的端口映射
docker run -d --name flask_demo -p 5001:5001 docker_flask_demo

5.5 访问ipconfig找到虚拟机ip

即可访问部署的服务,或者使用http://localhost:7001/来访问

在这里插入图片描述

6.其他知识点

6.1 启动和停止容器

docker start 容器id		# 启动容器 

 docker restart 容器id	# 重启容器

 docker stop 容器id	  # 停止正在运行的容器

 docker kill 容器id		 # 强制停止运行的容器

6.2 删除容器

docker rm 容器id

6.3查看容器进程信息

docker top 容器id

6.4删除镜像

docker rmi 镜像id

6.5查看日志

docker logs -f afdf90e5afbd

6.6 查看容器的信息

docker inspect 容器id

6.7命令列出所有容器

docker ps -a
作者:袖子味 原文地址:https://blog.csdn.net/weixin_44401906/article/details/128705228

%s 个评论

要回复文章请先登录注册