import os
from flask import Flask, request
from flask import Response, make_response, jsonify
import cv2
import base64
import io
import uuid
from main import eye
app = Flask(__name__)
@app.route('/', methods=['GET', 'POST']) # 添加路由blend
def upload_file(): # 处理逻辑函数
if request.method == "POST":
result = request.form['eye']
print("111")
return result
if __name__ == '__main__':
# 地址需要是0.0.0.0,保证外机访问
app.run(host="0.0.0.0", debug=True, port=8080)
import requests
# flask get方式
def get():
url = "http://127.0.0.1:8080"
ret = requests.get(url)
return ret.text
# flask post方式
def post():
url = "http://127.0.0.1:8080"
data = {'eye': '1'}
ret = requests.post(url, data=data)
return ret.text
if __name__ == '__main__':
post()
菜鸟教程: https://www.runoob.com/docker/docker-hello-world.html
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install docker-ce
启动Docker 使用以下命令启动Docker服务:
sudo systemctl start docker
设置Docker自动启动,使用以下命令设置Docker自动启动:
sudo systemctl enable docker
验证Docker安装是否成功
docker version
如果安装成功,您将看到Docker版本信息的输出。
查看docker状态
sudo docker ps
docker设置一些被指可以用于镜像加速
/etc/docker/daemon.json
方式一:中国区官方镜像
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
方式二:网易镜像
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
方式三:中国科技大学镜像
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
{
"debug": true,
"experimental": false,
"features": {
"buildkit": false
},
"insecure-registries": [],
"registry-mirrors": [
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn",
"https://registry.docker-cn.com",
"https://mirror.ccs.tencentyun.com"
]
}
修改完成后,再重加载配置文件:sudo systemctl daemon-reload
重启动docker:sudo systemctl restart docker
检查加速器是否生效:docker info
拉取新的镜像
docker pull imagename:tag
查找镜像
docker search httpd
删除镜像
docker rmi imagename
docker rmi imageID
查看所有容器
docker ps -a
运行一个镜像,并生成一个容器,保持有一个持续进行的进程(所以加上/bin/bash,否则自动退出进程),才能保证容器被启动。-p:宿主机端口(flask的port):docker镜像声明的端口(dockerfile的EXPORT),在大部分的场景下,我们希望 docker 的服务是在后台运行的,我们可以过 -d 指定容器的运行模式。
docker run -it imagename /bin/bash
参数说明:
-i: 交互式操作。
-t: 终端
sample:
docker run -p 8080:8080 -dit <Image> /bin/bash
进入容器
docker attach <容器 ID>
注意: 如果从这个容器退出,会导致容器的停止。
docker exec -it <容器 ID> /bin/bash
注意: 如果从这个容器退出,容器不会停止,推荐大家使用 docker exec。
启动已停止的容器
docker start containerID
停止容器
docker stop <容器 ID>
重启容器
docker restart <容器 ID>
docker run :创建一个新的容器并运行一个命令
语法
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS说明:
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-P: 随机端口映射,容器内部端口随机映射到主机的端口
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name="nginx-lb": 为容器指定一个名称;
--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
-h "mars": 指定容器的hostname;
-e username="ritchie": 设置环境变量;
--env-file=[]: 从指定文件读入环境变量;
--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;
-m :设置容器使用内存最大值;
--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
--link=[]: 添加链接到另一个容器;
--expose=[]: 开放一个端口或一组端口;
--volume , -v: 绑定一个卷
实例
使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为mynginx。
docker run --name mynginx -d nginx:latest
使用镜像nginx:latest以后台模式启动一个容器,并将容器的80端口映射到主机随机端口。
docker run -P -d nginx:latest
使用镜像 nginx:latest,以后台模式启动一个容器,将容器的 80 端口映射到主机的 80 端口,主机的目录 /data 映射到容器的 /data。
docker run -p 80:80 -v /data:/data -d nginx:latest
绑定容器的 8080 端口,并将其映射到本地主机 127.0.0.1 的 80 端口上。
$ docker run -p 127.0.0.1:80:8080/tcp ubuntu bash
使用镜像nginx:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。
runoob@runoob:~$ docker run -it nginx:latest /bin/bash
root@b8573233d675:/#
通过进入容器,对容器进行修改.
对于修改成功的容器重新构建新Image
docker commit <Container ID 旧> <Image name 新>:<tag>
打包镜像Image为tar
docker save -o XXX.tar <Image name>:<tag>
载入镜像
docker load -i XXX.tar