微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

通过docker搭建flask+vue+mysql项目笔记

制作Vue项目的Docker镜像

1.使用Nginx镜像作为基础镜像,vue项目npm run build打包成dist目录

2.在Linux环境新建一个目录,将dist拷贝到这个目录中

3.在同级目录新建文件“Dockerfile”, 并输入下面的命令。即

指定基础镜像→拷贝dist目录到Nginx的/usr/share/Nginx/html/目录→拷贝Nginx配置文件到/etc/Nginx/Nginx.conf

FROM Nginx
copY ./dist/ /usr/share/Nginx/html/
copY Nginx.conf /etc/Nginx/Nginx.conf

Nginx.conf 内容如下:

#user  nobody;
worker_processes  1;
  
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
  
#pid        logs/Nginx.pid;
  
  
events {
    worker_connections  1024;
}
  
  
http {
    include       mime.types;
    default_type  application/octet-stream;
  
    #access_log  logs/access.log  main;
  
    sendfile        on;
    #tcp_nopush     on;
  
    #keepalive_timeout  0;
    keepalive_timeout  65;
  
    #gzip  on;
  
    client_max_body_size   20m;
    server {
        listen       80;
        server_name  www.aaaaaa.com;
  
        #charset koi8-r;
  
        #access_log  logs/host.access.log  main;
     location / {
        root   /usr/share/Nginx/html;
        index  index.html index.htm;
        try_files $uri $uri/ /index.html;
    }
 
    }
  
}

4.打包镜像,输入下面的命令: 给镜像打tag为Nginx-docker(取个自己喜欢的名字), 命令最后的点是为了给Docker引擎指定构建时上下文环境使用的目录,是不可缺少的。

docker build -t Nginx-docker .

5.此时镜像已经构建完成, 只需要输入命令就可以了,命令如下; 

docker run --name Nginx-vue -p 8030:80 -d Nginx-docker

6.浏览器输入localhost:8030 访问项目

 

 

制作Flask项目的Docker镜像

1.使用Python镜像作为基础镜像

2.在Linux环境新建一个目录,将Flask项目目录拷贝到这个目录中

3.在同级目录新建文件“Dockerfile”, 并输入下面的命令

FROM python:3
 
ADD ./flask_demo /usr/src/app/DQ_QUES
 
# 设置app文件夹是工作目录
workdir /usr/src/app/DQ_QUES

# 配置环境变量,这样python会在该变量下找需要的模块名
ENV PATH=$PATH:/usr/src/app
ENV PYTHONPATH /usr/src/app
 
# 安装支持
RUN pip install --no-cache-dir -r requirements.txt 

# 配置启动docker后自动运行的文件
CMD [ "python", "backend_server.py" ]

4.构建镜像 

docker build -t flask_ques .

5. 启动docker镜像, 至此Flask服务已经运行起来了

docker run -it --name flask-test2359 -p 5000:5000 -d flask_ques

 

 

Flask配置:

直接运行flask文件

app.run(debug=True)

的方式, 认启动在127.0.0.1:5000 上,此时只有本机才能访问flask服务; 因此需要写成下面的形式,才能使flask服务被所有人访问:

app.run(host='0.0.0.0', port=5000, debug=True)

 

 

 

 

 

 

 

Docker常用指令

# docker目录:
/var/lib

# 将正在运行的容器打包为镜像:
docker commit 容器名 镜像名:标签

# Docker Commit一般用做从一个运行状态的容器来创建一个新的镜像
# 定制镜像应该用DockerFile来完成。
# 镜像管理

#查看所有镜像: 
docker images

# 搜索镜像
docker search busyBox

# 拉取下载
docker pull busyBox:latest

# 导出:
docker save busyBox > busyBox.tar

# 导入
docker load < busyBox.tar

# 删除
docker rmi busyBox:latest

# 更改镜像名
docker tag busyBox:latest busyBox:test

# 查看创建历史:
docker history busyBox

镜像运行后就变成了一个container

# 容器管理

# 运行容器
docker run -d --name=busyBox busyBox:latest ping www.baidu.com

# 查看运行的容器:
docker ps
docker ps -a

# 查看容器中运行的进程:
docker top busyBox

# 查看资源占用
docker stats busyBox

# 容器操作
docker start
docker restart
docker stop
docker kill busyBox

# 暂停容器
docker pause / unpause busyBox

# 强制删除容器
docker rm -f busyBox

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐