【星海出品】flask 与docker

news2024/12/23 10:49:07
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 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

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

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

相关文章

2023 全栈工程师 Node.Js 服务器端 web 框架 Express.js 详细教程(更新中)

Express 框架概述 Express 是一个基于 Node.js 平台的快速、开放、极简的Web开发框架。它本身仅仅提供了 web 开发的基础功能&#xff0c;但是通过中间件的方式集成了外部插件来处理HTTP请求&#xff0c;例如 body-parser 用于解析 HTTP 请求体&#xff0c;compression 用于压…

dgl安装教程

我在矩池云服务器上安装了一个dgl的环境&#xff0c;以后都可以用这个了 首先我的基础环境是 最终的版本如下 安装步骤如下 pip install dgl0.9.1 -f https://s3.us-west-2.amazonaws.com/dgl-data/wheels/cu113/repo.html注意不能直接使用 pip install dgl -f https://s…

Nginx网关配置

安装Nginx 下载最新版本Nginx nginx: download 解压 双击nginx.exe启动 浏览器访问 localhost 看到如下界面 微服务准备 准备两个服务&#xff0c;例如&#xff1a;product微服务和order微服务 分别启动后&#xff0c;访问相应服务接口 product服务 http://localhost:9001/…

detectron2环境搭建及自定义coco数据集(voc转coco)训练

detectron2建议ubuntu进行环境搭建&#xff0c;Windows大概率报错 一 环境搭建 创建虚拟环境 conda create -n detectron2 python3.8 -y conda activate detectron2后面下载源代码建议存到git中再git clone git clone https://github.com/facebookresearch/detectron2.git …

王道p40 1.设计一个递归算法,递归删除单链表L中所有值为x的结点(c语言)

视频讲解在这里&#xff1a;&#x1f447; p40 第1题 王道数据结构课后代码题c语言代码实现_哔哩哔哩_bilibili 本题代码如下 void delete(linklist* L,int x)//递归删除x {if((*L)->next! NULL){if ((*L)->next->data x)//找到x{lnode* p (*L)->next;(*L)-&…

【第2章 Node.js基础】2.2 Node.js回调函数

学习目标 &#xff08;1&#xff09;理解Node.js的回调函数&#xff1b; &#xff08;2&#xff09;掌握回调函数的使用。 什么是回调函数 回调函数是一种特殊的函数&#xff0c;它作为参数传递给另一个函数&#xff0c;并在特定的事件或条件发生时被调用。回调函数通常用于异…

FreeRTOS学习笔记——SysTick中断

FreeRTOS学习笔记——SysTick中断_freertos tick中断-CSDN博客 FreeRTOS 之六 任务调度原理解析&#xff08;Systick、PendSV、SVC&#xff09;_freertos m0-CSDN博客 FreeRTOS中关于时间的管理分为两部分&#xff1a;一部分是任务的延时管理;前面叙述过一些&#xff0c;还有…

找不到d3dx9_43.dll怎么办?解决d3dx9_43.dll丢失的5个方法

在计算机使用过程中&#xff0c;我们经常会遇到一些错误提示&#xff0c;其中之一就是“找不到d3dx9_43.dll”。这个错误通常出现在运行某些游戏或应用程序时&#xff0c;它是由于缺少DirectX组件中的d3dx9_43.dll文件所引起的。那么&#xff0c;当我们遇到这个问题时&#xff…

JWT 使用入门(三)请求流程

文章目录 1、前后端使用JWT详细步骤2、前后端使用JWT详情图3、从流程中看优点与缺点3.1 优点3.2 缺点 之前在第一篇中提到过其使用流程&#xff0c;以下讲的是第二种&#xff1a;https://blog.csdn.net/qq_37534947/article/details/132066909 但是JWT主要作用应该应用于以下&a…

Android sqlite 使用简介

进行Android应用开发时经常会用到数据库。Android系统支持sqlite数据库&#xff0c;在app开发过程中很容易通过SQLiteOpenHelper使用数据库&#xff0c;SQLiteOpenHelper依赖于Context对象&#xff0c;但是基于uiatomator1.0和Java程序等无法获取Context的应用如何使用数据库呢…

SAP实现文本框多行输入(类cl_gui_textedit)

先看效果&#xff0c;在输入框先来一段《赤壁赋》 然后点击 ‘保存输出’按钮&#xff0c;就能把输入内容从表里读取并输出来 源代码&#xff1a; *&---------------------------------------------------------------------* *& Report ZCYCLE060 *&---------…

如何避免JavaScript中的内存泄漏?

前言 过去&#xff0c;我们浏览静态网站时无须过多关注内存管理&#xff0c;因为加载新页面时&#xff0c;之前的页面信息会从内存中删除。 然而&#xff0c;随着单页Web应用&#xff08;SPA&#xff09;的兴起&#xff0c;应用程序消耗的内存越来越多&#xff0c;这不仅会降低…

13 套接字Socket

1、Socket 编程 socket编程基于 TCP 和 UDP 协议的tcp和udp是区分客户端和服务端的&#xff0c;所以我们的socket编程也是区分的。 2、socket是端到端的通信 1.Socket 这个名字很有意思&#xff0c;可以作插口或者插槽讲 2.一头插在客户端&#xff0c;一头插在服务端&#x…

阿里云双11优惠活动:2核2G3M云服务器1年99元,新老用户均可购买!

阿里云双11优惠活动正在火热进行中&#xff0c;阿里云推出了一款特价云服务器ECS&#xff0c;2核2G3M的配置1年仅需99元&#xff0c;新老用户均可购买&#xff0c;新购、续费同价&#xff01; 活动入口&#xff1a;传送门>>> 活动详情&#xff1a; 云服务器ECS&#…

Bitget Wallet:使用 Base 链购买 ETH 的简明教程

Base 链是一种 Layer 2&#xff08;L2&#xff09;公链&#xff0c;它可以为用户提供以太坊&#xff08;ETH&#xff09;代币&#xff0c;而 Bitget Wallet 是一款多功能加密货币钱包&#xff0c;支持 Base 链以及其他主要区块链。

三天打鱼两天晒网

文章目录 前言一、题目描述 二、题目分析 三、解题 程序运行代码 前言 本系列为选择结构编程题&#xff0c;点滴成长&#xff0c;一起逆袭。 一、题目描述 二、题目分析 三、解题 程序运行代码 #include<stdio.h> int main(){int n;scanf("%d",&n);i…

MySQL进阶_1.逻辑架构和SQL执行流程

文章目录 第一节、逻辑架构剖析1.1、服务器处理客户端请求1.2、Connectors1.3、第1层&#xff1a;连接层1.4、第2层&#xff1a;服务层1.5、 第3层&#xff1a;引擎层1.6、 存储层1.7、小结 第二节、SQL执行流程2.1、查询缓存2.2、解析器2.3、优化器2.4、执行器 第三节、数据库…

MySQL的安装使用(入学篇)

目录 1 MySQL安装 1.1 安装epel源 1.2 安装MySQL Repository 1.3 安装MySQL官方yum源 1.4 安装服务端、客户端 1.5 启动MySQL服务 2 MySQL 使用 2.1 获取初始登录密码 2.2 登录MySQL数据库 2.3 修改密码 2.4 退出数据库 2.5 使用新密码登录数据库 2.6 重启数据库 2.7 创建数据…

美国出台新规对全球芯片业产生深远影响 | 百能云芯

2023年10月18日&#xff0c;美国宣布了一项新版半导体出口管制规则&#xff0c;旨在限制对中国等特定市场出口尖端人工智能&#xff08;AI&#xff09;芯片的企业。该法规于当月16日生效&#xff0c;引发了广泛的关注。据日本经济新闻报道&#xff0c;这一举措将显着提高中国发…

Docker安装Elasticsearch和Kibana

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…