【星海出品】flask 与docker

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)

例子:注意get和post读取数据的形式不同!

 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

docker

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 imagenamedocker 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/136338.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Go语言函数方法

Go语言函数方法 在Go语言中&#xff0c;函数可以关联到自定义类型&#xff0c;从而创建方法。方法是在类型上调用的函数&#xff0c;它们使类型具有方法集。以下是关于Go语言函数方法的一些重要信息&#xff1a; 函数方法的定义&#xff1a; 在Go语言中&#xff0c;方法与函数…

【Agent模型1】MemGPT: Towards LLMs as Operating Systems

论文标题&#xff1a;MemGPT: Towards LLMs as Operating Systems 论文作者&#xff1a;Charles Packer, Vivian Fang, Shishir G. Patil, Kevin Lin, Sarah Wooders, Joseph E. Gonzalez (UC Berkeley) 论文原文&#xff1a;https://arxiv.org/abs/2310.08560 论文出处&#x…

MySQL库的库操作指南

1.创建数据库 一般格式&#xff1a;create database (if not exists) database1_name,database2_name...... 特殊形式&#xff1a; create database charset harset_name collate collate_name 解释&#xff1a; 红色字是用户自己设置的名称charset&#xff1a;指定数据…

Netty入门指南之NIO Buffer详解

作者简介&#xff1a;☕️大家好&#xff0c;我是Aomsir&#xff0c;一个爱折腾的开发者&#xff01; 个人主页&#xff1a;Aomsir_Spring5应用专栏,Netty应用专栏,RPC应用专栏-CSDN博客 当前专栏&#xff1a;Netty应用专栏_Aomsir的博客-CSDN博客 文章目录 参考文献前言ByteBu…

XSS 跨站点脚本漏洞详解

文章目录 漏洞概述XSS漏洞原理xss漏洞危害xss漏洞验证XSS漏洞分类反射型存储型DOM型 固定会话攻击原理简单xss注入复现 XSS 攻防xss构造方法利用标签符号<>事件响应javascript伪协议其他标签 XSS 变形方式xss防御黑白名单策略输入过滤 案例XSS 盲打 漏洞概述 ​ 跨站点脚…

muduo源码剖析之Connector客户端连接类

简介 Connector负责主动发起连接,不负责创建socket,只负责连接的建立,外部调用Connector::start就可以发起连接&#xff0c;Connector具有重连的功能和停止连接的功能&#xff0c;连接成功建立后返回到TcpClient。 主要成员及属性解析 主要接口 setNewConnectionCallback …

Oracle中的索引碎片

索引碎片是指索引在存储空间上不连续的分布情况&#xff0c;它可能会影响到数据库性能和查询效率。索引碎片化主要由以下几个原因导致&#xff1a; 插入、更新和删除操作&#xff1a;当对表中的数据进行插入、更新或删除操作时&#xff0c;索引也需要相应地更新。这些DML操作可…

java压缩pdf体积,图片体积

pdf整体进行压缩,图片进行压缩 // 生成主证书的PDF路径 创建一个文件String pdfPath UploadDown.createFile(".pdf");outputStream new FileOutputStream(pdfPath);bufferedOutputStream new BufferedOutputStream(outputStream);writer PdfWriter.getInstance(…

操作系统 day09(线程)

线程 为什么引入线程 在没引入进程之前&#xff0c;系统中的各个程序只能串行的执行&#xff0c;比如&#xff1a;只能先听歌&#xff0c;再聊QQ。引入进程之后&#xff0c;各个程序可以并发执行&#xff0c;比如&#xff1a;一边听歌&#xff0c;一边聊QQ。但是现在QQ可以一…

springboot(ssm 企业员工薪酬关系系统 Java(codeLW)

springboot(ssm 企业员工薪酬关系系统 Java(code&LW) 开发语言&#xff1a;Java 框架&#xff1a;ssm/springboot vue JDK版本&#xff1a;JDK1.8&#xff08;或11&#xff09; 服务器&#xff1a;tomcat 数据库&#xff1a;mysql 5.7&#xff08;或8.0&#xff09; …

gitlab-ce-12.3.5 挖矿病毒及解决方案

前言 最近发现在使用gitlab提交代码的时候总是失败&#xff0c;一访问gitlab还时常报503&#xff0c;于是使用 top 命令查看了内存占用情况&#xff0c;发现了一个git进程内存使用了2.3g&#xff0c;cpu还一直占用300-400%&#xff0c; 以前不知道gitlab还有病毒&#xff0c;只…

IP 地址冲突检测工具

IP 冲突是一个术语&#xff0c;用于表示同一网络或子网中尝试使用相同 IP 地址的两个或多个设备的状态&#xff0c;这可能会导致发往特定主机的通信与其他主机混淆&#xff0c;因为两者都使用相同的 IP&#xff0c;为了避免这种情况&#xff0c;某些主机在发生 IP 冲突时会失去…

电机应用-直流有刷电机

目录 直流有刷电机 工作原理 直流有刷减速电机的重要参数 电路原理与分析 驱动芯片分析 L298N驱动芯片 直流有刷减速电机控制实现 控制速度原理 硬件设计 L298N 野火直流有刷电机驱动板-MOS管搭建板 软件设计1&#xff1a;两个直流有刷减速电机按键控制 开发设计 …

仓库自动化中的RFID技术的应用浅谈

仓库自动化与RFID技术的结合代表着现代供应链管理的一个重要革新。这两者的协同作用能够显著提升仓储效率、降低成本、增强库存管理、提高货物跟踪的准确性&#xff0c;并且使仓库操作更加智能化。 仓库自动化是一种通过应用自动化技术和系统来管理和优化仓库操作的方法。这种…

用尽可能简单易懂的代码做个时间轴(时间线)

用尽可能简单的代码&#xff0c;做个时间线或者时间轴展示功能&#xff0c;效果如图&#xff1a; 特点&#xff1a;纯DIVCSS构建&#xff0c;需要展示到什么进度&#xff0c;直接加active属性就行了。 还贴心给配了个setProgress(step)函数&#xff0c;功能太简单&#xff0c;…

gpt网站资源分享

gpt网站 gpt网站 下面是一个扫码跳转的图片&#xff1a; 里面有3.5和4模型&#xff0c;目前有免费体验&#xff0c;大家可以试试

v-model进行父子组件数据传递

v-model原理 1.原理&#xff1a; v-model本质上是一个语法糖。例如应用在输入框上&#xff0c;就是value属性 和 input事件 的合写 <template><div id"app" ><input v-model"msg" type"text"><input :value"msg&qu…

C++ 之多态(一)

什么是虚函数 在类的定义中&#xff0c;前面有 virtual 关键字的成员函数称为虚函数&#xff1b;virtual 关键字只用在类定义里的函数声明中&#xff0c;写函数体时不用。 class Base {virtual int Fun() ; // 虚函数 };int Base::Fun() // virtual 字段不用在函数体时定义 …

【MySQL】一文学会所有MySQL基础知识以及基本面试题

文章目录 前言 目录 文章目录 前言 一、主流数据库以及如何登陆数据库 二、常用命令使用 三、SQL分类 3.1 存储引擎 四、创建数据库如何设置编码等问题 4.1操纵数据库 4.2操纵表 五、数据类型 六、表的约束 七、基本查询 八、函数 九、复合查询 十、表的内连和外连 十一、索引…

Gradle国内腾讯镜像

Gradle国内镜像 腾讯 https&#xff1a;//mirrors.cloud.tencent.com/gradle/ 使用方法&#xff1a;gradle不同版本下载太慢---腾讯做了国内镜像可以直接下载_gradle 下载-CSDN博客