• docker


    大纲

    1、influxdb1.8.10

    文件保存在/root/data/influxdb,使用端口8086

    2、flask

    文件保存在/root/data/flask,使用端口5000

    3、nodered

    文件直接保存在容器中,使用端口1880

    4、EMQX

    文件直接保存在容器中,使用端口1883 8083 8084 8883 18083

    1、influxdb1.8.10

    1.1 下载influxdb1.8.10镜像

    sudo docker pull influxdb:1.8.10
    
    • 1

    1.2 安装influxdb1.8.10容器

    目前只了解到8086端口为influxdb1.8.10数据传输端口,如后续还有其他端口,酌情添加

    docker run -it -d --name=influxdb -p 8086:8086 -v /root/data/influxdb:/var/lib/influxdb influxdb:1.8.10
    
    • 1

    –name=influxdb

    创建的容器名为:influxdb

    -p 8086:8086

    -p 外部端口:容器内部端口;将容器内部端口映射到外部端口

    -v /root/data/influxdb:/var/lib/influxdb

    -v 外部数据储存地址:容器内部数据储存地址;将外部数据储存地址挂载到容器内部数据储存地址,这样容器启动本来会访问内部/var/lib/influxdb地址的,由于挂载原因,会直接访问外部 /root/data/influxdb,而不会访问内部/var/lib/influxdb

    influxdb:1.8.10

    镜像名,容器安装是选用那个镜像进行安装。

    1.3 进入influxdb1.8.10容器

    docker exec -it influxdb bin/bash
    
    • 1

    1.4 进入influxdb1.8.10终端

    需要进入influxdb1.8.10终端后才能对数据库进行相应的操作

    influx
    
    • 1

    1.5 数据库操作

    1.5.1 查看(数据库)

    需要进行步骤1.4后才能完成influx的相应操作

    #查看数据库
    show databases
    
    • 1
    • 2
    1.5.2 创建(数据库)
    #创建数据库
    #create database 数据库名
    create database test
    #创建成功后可以用1.5.1的步骤查看(查看数据库)是否创建完成
    
    • 1
    • 2
    • 3
    • 4
    1.5.3 增(表)
    #第一步,需要进入需要插入的数据库,以进入test为例
    use test
    
    #第二步,插入数据内容
    #insert 语法
    #insert 要插入的measurement(表名:如果数据库没有该表会自动创建,有的话会在后面添加数据),标签tag2=name1,tag2=name2(空格)内容field1=fieldValue2,field2=fieldValue2 time=时间
    insert weather,altitude=1000,area=北 temperature=11,humidity=-4
    insert weather,altitude=300,area=北 temperature=14,humidity=-5
    insert weather,altitude=500,area=东 temperature=21,humidity=5
    insert weather,altitude=1000,area=南 temperature=31,humidity=7
    
    #第三步,查看该数据库(test)内有哪些表,如果有weather,说明数据表插入或创建数据成功
    show measurements
    
    #第四步,查看weather表的所有数据
    select * from "weather"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    1.5.4 查(表)
    #第一步,查看数据库名
    show databases
    
    #第二步,进入该数据库
    use test
    
    #第三步,查看该数据库下面的所有表
    show measurements
    
    #第四步,查看weather表的所有数据
    select * from "weather"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    1.5.5 删(表)
    #第一步,查看数据库名
    show databases
    
    #第二步,进入该数据库
    use test
    
    #第三步,查看该数据库下面的所有表
    show measurements
    
    #第四步,删除weather表
    drop measurement weather
    
    #第五步,查看该数据库下面的所有表,看weather表是否还存在,不存在说明删除成功
    show measurements
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    1.5.6 删除(数据库)
    #第一步,删除数据库
    drop database test
    
    #第二步,查看数据库名,看test数据库是否还存在,不存在说明删除成功
    show databases
    
    • 1
    • 2
    • 3
    • 4
    • 5

    3.7 退出

    #退出后就可以关闭终端了。
    quit
    
    • 1
    • 2
    1.5.7 时间设置

    时间格式:2021-01-01T00:00:00

    precision rfc3339
    
    • 1
    1.5.8 时区问题

    **方法一:**因为时区原因,默认数据库查询时间会出现小8小时的时差,因此需要把时区改为大陆时区返回数据即可

    SELECT * FROM "weather" tz('Asia/Shanghai')
    
    • 1

    **方法二:**查数据库返回的时间戳,该时间戳是全球统一的,不存在地域不同,所以对其进行中国时区换算时间戳就行。

    1.6 退出

    exit
    
    • 1

    2、flask

    docker无官方flask镜像,所以选用ubuntu20.04来安装flask,由于ubuntu20.04默认python是3.x版本,所以安装opencv需要注意,指令为apt install python3-opencv,而不是2.x版本的apt install python-opencv

    2.1 下载ubuntu20.04镜像

    sudo docker pull ubuntu:20.04
    
    • 1

    2.2 安装ubuntu20.04容器

    目前只用到了flask且只用了一个5000端口,故开放了一个5000端口作为通信

    docker run -it -d --name=flask -p 5000:5000 -v /root/data/flask:/root/flask  ubuntu:20.04
    
    • 1

    容器安装好后,需要将运行文件复制到/root/data/flask下,便于后续操作。

    –name=flask

    创建的容器名为:flask

    -p 5000:5000

    -p 外部端口:容器内部端口;将容器内部端口映射到外部端口

    -v /root/data/flask:/root/flask

    -v 因为是运行python文件,不是系统默认读取位置,所以路径随便挂载,为了统一都挂载了root的data文件夹下面,当进入到/root/flask时,显示的文件却是/root/data/flask的文件

    ubuntu:20.04

    镜像名,容器安装是选用那个镜像进行安装。

    2.3 进入flask容器

    docker exec -it flask bin/bash
    
    • 1

    2.4 更新系统下载库列表

    因为进入容器后,自动就是root权限,所以无需加sudo,否则可能还会报错,故此不加sudo

    apt update
    
    • 1

    2.5 下载python3和flask

    因为要运行python和flask框架,所以需要安装python3和flask

    apt install python3
    apt install pip
    pip install flask
    
    • 1
    • 2
    • 3

    python3可以通过ubuntu直接安装

    flask无法用ubuntu直接安装,需要通过pip安装,故先安装pip后,再安装flask

    pip其实就是python的下载器,如需要查看python安装了多少依赖可运行 pip list 查看

    2.6 进入/root/flask下的终端运行python

    运行python文件 python3 文件名.py

    python3 main.py
    
    • 1

    后续缺少依赖酌情安装

    2.7 python依赖安装

    2.7.1 安装opencv
    apt install python3-opencv
    
    • 1

    安装中可能会出现数字选项两次,都输入1回车即可。

    2.7.2 安装flask_cors
    pip install flask_cors
    
    • 1

    3、node-red

    3.1 下载node-red镜像

    sudo docker pull nodered/node-red:latest
    
    • 1

    3.2 安装node-red容器

    目前只了解到1880端口为node-red数据传输端口,如后续还有其他端口,酌情添加

    docker run -d -p 1880:1880 --name leenodered nodered/node-red:1.0.1
    
    • 1

    不挂载目录,需要挂载官网提供的目录地址才行,自定义地址不行,官网挂载的目录找不到

    3.3 进入node-red容器

    docker exec -it leenodered /bin/bash
    
    • 1

    3.4 退出node-red终端

    exit
    
    • 1

    4、EMQX

    4.1 下载EMQX镜像

    docker pull emqx/emqx:5.0.8
    
    • 1

    4.2 安装EMQX容器

    docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx:5.0.8
    
    • 1

    5、MrDoc

    5.1 进入MrDoc

    sudo docker exec -it mrdoc /bin/sh
    
    • 1

    5.2 备份文件位置

    /var/lib/docker/overlay2/9225e90a6fc666a74373f2d2244a061aee9c537b314880e0c21fd3033cbbca07/diff/app/MrDoc/media/reportmd_temp
    
    • 1
  • 相关阅读:
    UE4 回合游戏项目 09- 添加人物属性值
    您的连接不是私密连接 攻击者可能会试图从 github.com 窃取您的信息(例如:密码、通讯内容或信用卡信息)
    mac for m1(arm):安装redis的四种方式(本机安装、homebrew安装、虚拟机安装、docker安装)
    Using power MOSFETs in parallel
    3.6 shellcode编码技术
    【ML04】Multiple Variable Linear Regression
    面试题: 线程池的核心参数
    OSError: [WinError 1455] 页面文件太小,无法完成操作
    HashMap遍历之EntrySet————小练习
    Qt+ECharts开发笔记(五):ECharts的动态排序柱状图介绍、基础使用和Qt封装Demo
  • 原文地址:https://blog.csdn.net/weixin_44692299/article/details/127854651