培训第三十五天(容器的基础命令使用)

1、创建一个容器并同时执行echo命令

 # 快速启动一个容器执行特定的一次性命令并查看输出结果,输出结果后容器直接退出[root@docker ~]# docker run -it --name=a0 centos:latest echo "abc"abc[root@docker ~]# docker psCONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES[root@docker ~]# docker ps -aCONTAINER ID   IMAGE           COMMAND       CREATED         STATUS                     PORTS     NAMESa1c0c9551a19   centos:latest   "echo abc"    8 seconds ago   Exited (0) 7 seconds ago             a041c9a7796fde   centos:latest   "/bin/bash"   19 hours ago    Exited (0) 13 hours ago              c0

2、删除容器

 # 删除名为a0的容器[root@docker ~]# docker rm  a0a0# 开启容器[root@docker ~]# docker start c0c0[root@docker ~]# docker psCONTAINER ID   IMAGE           COMMAND       CREATED        STATUS         PORTS     NAMES41c9a7796fde   centos:latest   "/bin/bash"   19 hours ago   Up 3 seconds             c0# 由于该容器正在运行不能直接删除[root@docker ~]# docker rm c0Error response from daemon: cannot remove container "/c0": container is running: stop the container before removing or force remove# 使用-f选项强制移除正在运行中的容器[root@docker ~]# docker rm -f c0c0

3、设置远程管理

 # 自己规定套接字文件的位置并通过TCP协议在所有网络接口(0.0.0.0代表监听所有IP地址)的2375端口上接受连接[root@docker ~]# vim /etc/docker/daemon.json "hosts" : ["tcp://0.0.0.0:2375","unix:///var/run/docker.sock"]# 启动Docker服务时执行的命令为/usr/bin/dockerd,即启动Docker守护进程[root@docker ~]# vim /usr/lib/systemd/system/docker.service ExecStart=/usr/bin/dockerd# 重新加载系统的服务管理器配置[root@docker ~]# systenctl daemon-reload# 重新启动Docker服务,使对Docker服务配置文件的修改生效[root@docker ~]# systemctl restart docker# version用于查看指定IP地址(10.0.0.100)上的Docker版本信息;images用于查看指定IP地址上的Docker镜像列表。命令中的参数-H用于指定连接到的 Docker守护进程的地址[root@docker ~]# docker -H10.0.0.100 varsion|images

4、docker image中pull的使用,从镜像仓库中下载镜像

 [root@docker ~]# docker image --helppull        Download an image from a registry[root@docker ~]# docker image pull --helpUsage:  docker image pull [OPTIONS] NAME[:TAG|@DIGEST]Download an image from a registryAliases:docker image pull, docker pullOptions:-a, --all-tags                Download all tagged images in the repository--disable-content-trust   Skip image verification (default true)--platform string         Set platform if server is multi-platform capable-q, --quiet                   Suppress verbose output# 从仓库中拉取centos的镜像[root@docker ~]# docker image pull -q centos# 查看本地镜像[root@docker ~]# docker imagesREPOSITORY   TAG       IMAGE ID       CREATED       SIZEcentos       latest    5d0da3dc9764   2 years ago   231MB

5、使用save将镜像打包

 # 查看帮助文件,找到save,可以将镜像保存为一个tar包[root@docker ~]# docker --helpsave        Save one or more images to a tar archive (streamed to STDOUT by default)# 查看save使用方式[root@docker ~]# docker save  --helpUsage:  docker save [OPTIONS] IMAGE [IMAGE...]Save one or more images to a tar archive (streamed to STDOUT by default)Aliases:docker image save, docker saveOptions:-o, --output string   Write to a file, instead of STDOUT# 查看现有镜像[root@docker ~]# docker imagesREPOSITORY   TAG       IMAGE ID       CREATED       SIZEcentos       latest    5d0da3dc9764   2 years ago   231MB# 打包镜像[root@docker ~]# docker save -o centos.tar centos:latest# 可以将tar发给其他用户,也可以作为备份[root@docker ~]# lsanaconda-ks.cfg  centos.tar  v

6、使用rmi删除镜像

 [root@docker ~]# docker --helprm          Remove one or more containersrmi         Remove one or more images[root@docker ~]# docker ps -aCONTAINER ID   IMAGE           COMMAND       CREATED         STATUS                     PORTS     NAMES6e2dbeb436db   centos:latest   "/bin/bash"   9 seconds ago   Exited (0) 4 seconds ago             c0# 由于有容器在使用该镜像,所以不能直接删除该镜像[root@docker ~]# docker rmi centos:latest Error response from daemon: conflict: unable to remove repository reference "centos:latest" (must force) - container 6e2dbeb436db is using its referenced image 5d0da3dc9764# 删除容器,退出容器up状态[root@docker ~]# docker rm c0c0[root@docker ~]# docker rmi centos:latest Untagged: centos:latestUntagged: centos@sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177Deleted: sha256:5d0da3dc976460b72c77d94c8a1ad043720b0416bfc16c52c45d4847e53fadb6Deleted: sha256:74ddd0ec08fa43d09f32636ba91a0a3053b02cb4627c35051aff89f853606b59[root@docker ~]# docker imagesREPOSITORY   TAG       IMAGE ID   CREATED   SIZE

7、使用load从tar文件中引入镜像

 [root@docker ~]# docker --helpload        Load an image from a tar archive or STDIN[root@docker ~]# docker load --helpUsage:  docker load [OPTIONS]Load an image from a tar archive or STDINAliases:docker image load, docker loadOptions:-i, --input string   Read from tar archive file, instead of STDIN-q, --quiet          Suppress the load output[root@docker ~]# docker load -i centos.tar 74ddd0ec08fa: Loading layer  238.6MB/238.6MBLoaded image: centos:latest[root@docker ~]# docker imagesREPOSITORY   TAG       IMAGE ID       CREATED       SIZEcentos       latest    5d0da3dc9764   2 years ago   231MB

8、使用export封装镜像,使用import导入镜像

 [root@docker ~]# docker run -it --name c0 centos:latest /bin/bash[root@5906fffd3383 /]# cd /etc/yum.repos.d     [root@5906fffd3383 yum.repos.d]# rm -rf *[root@5906fffd3383 yum.repos.d]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo% Total    % Received % Xferd  Average Speed   Time    Time     Time  CurrentDload  Upload   Total   Spent    Left  Speed100  2495  100  2495    0     0   6316      0 --:--:-- --:--:-- --:--:--  6316[root@5906fffd3383 yum.repos.d]# lsCentOS-Base.repo[root@5906fffd3383 yum.repos.d]# yum -y install epel[root@5906fffd3383 yum.repos.d]# yum clean all && yum makecache# 保持容器是运行状态[root@41c9a7796fde /]# read escape sequence# 查看帮助文档[root@docker ~]# docker --help[root@docker ~]# docker export --helpUsage:  docker export [OPTIONS] CONTAINERExport a container's filesystem as a tar archiveAliases:docker container export, docker exportOptions:-o, --output string   Write to a file, instead of STDOUT# 使用指令,将容器导出为tar包[root@docker ~]# docker export -o centos_yum.tar c0# 查看新生成的tar包[root@docker ~]# lsanaconda-ks.cfg  centos.tar  centos_yum.tar  v# 查看帮助文档[root@docker ~]# docker --help[root@docker ~]# docker import --helpUsage:  docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]Import the contents from a tarball to create a filesystem imageAliases:docker image import, docker importOptions:-c, --change list       Apply Dockerfile instruction to the created image-m, --message string    Set commit message for imported image--platform string   Set platform if server is multi-platform capable# 使用指令,[root@docker ~]# docker import -m yum centos_yum.tar centos:yumsha256:f3ca4715914e87e2d1527365e66775d9ab47b2a0208128e3ec52c0d45c364146# 查看镜像[root@docker ~]# docker imagesREPOSITORY   TAG       IMAGE ID       CREATED              SIZEcentos       yum       f3ca4715914e   About a minute ago   326MBcentos       latest    5d0da3dc9764   2 years ago          231MB

练习:制作httpd镜像

 [root@docker ~]# docker run -it --name c0 centos:yum1 /bin/bash[root@865090f46fbd /]# yum -y install httpd[root@865090f46fbd /]# echo "aaa" > /var/www/html/index.html[root@865090f46fbd /]# httpd -k startAH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.3. Set the 'ServerName' directive globally to suppress this message[root@c717adc1969a /]# [root@docker ~]#[root@docker ~]# docker psCONTAINER ID   IMAGE         COMMAND       CREATED          STATUS          PORTS     NAMES865090f46fbd   centos:yum1   "/bin/bash"   44 seconds ago   Up 44 seconds             c0[root@docker ~]# docker export -o centos_httpd.tar c0[root@docker ~]# docker import -m httpd centos_httpd.tar centos:httpdsha256:195d7f041bf5c9e17f5cfe172c85c6d2e7d11241e530e839dfe7770186296bb1[root@docker ~]# docker imagesREPOSITORY   TAG       IMAGE ID       CREATED          SIZEcentos       httpd     195d7f041bf5   13 seconds ago   268MBcentos       yum1      a2a0a138806b   3 hours ago      260MBcentos       latest    5d0da3dc9764   2 years ago      231MB[root@docker ~]# docker run -it --name c0 centos:httpd /bin/bash[root@5f6e6f840b2b /]# httpd -k startAH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.4. Set the 'ServerName' directive globally to suppress this message[root@5f6e6f840b2b /]# curl localhost  hh

9、查看容器ip地址的方法

 # 直接进入到容器中查看IP地址[root@docker ~]# docker attach c1[root@452771f307cc /]# ip addrinet 172.17.0.3/16 brd 172.17.255.255 scope # 查看容器信息,可以查看ip地址[root@docker ~]# docker inspect c0# 在外部调用指令,查看容器ip地址[root@docker ~]# docker exec  c1 ip ainet 172.17.0.3/16 brd 172.17.255.255 scope 

练习测试:使用exec touch一个文件

 [root@docker ~]# docker exec  c1 touch 1.txt[root@docker ~]# docker attach c1[root@452771f307cc /]# ls1.txt  dev  home  lib64       media  opt   root  sbin  sys  usrbin    etc  lib   lost+found  mnt    proc  run   srv   tmp  var

10、容器中虚拟端口映射

 # 将容器中的80端口映射到宿主机(docker主机)的80端口   -p宿主机端口:容器端口[root@docker ~]# docker run -it --name c2 -p80:80/tcp centos:httpd1 /bin/bash[root@5f6e6f840b2b /]# httpd -k startAH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.4. Set the 'ServerName' directive globally to suppress this message[root@5f6e6f840b2b /]# curl localhost  hh[root@5f6e6f840b2b /]# [root@docker ~]# [root@docker ~]# docker inspect c2"IPAddress": "172.17.0.4",[root@docker ~]# curl 172.17.0.4hh# 浏览器访问宿主机的80端口

 # 将容器中的80端口映射到宿主机(docker主机)的12345端口[root@docker ~]# docker run -it --name c3 -p12345:80 centos:httpd1 /bin/bash# 需要启动服务[root@fa074e53e1d6 /]# curl localhost  curl: (7) Failed to connect to localhost port 80: Connection refused[root@fa074e53e1d6 /]# httpd -k startAH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.5. Set the 'ServerName' directive globally to suppress this message[root@fa074e53e1d6 /]# curl localhosthh[root@fa074e53e1d6 /]# [root@docker ~]# [root@docker ~]# docker psCONTAINER ID   IMAGE           COMMAND       CREATED          STATUS          PORTS                                     NAMESfa074e53e1d6   centos:httpd1   "/bin/bash"   5 minutes ago    Up 5 minutes    0.0.0.0:12345->80/tcp, :::12345->80/tcp   c35f6e6f840b2b   centos:httpd1   "/bin/bash"   13 minutes ago   Up 13 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp         c2# 浏览器访问宿主机的12345端口

 # 宿主机上所有端口的应用情况,防止映射端口时产生端口冲突[root@docker ~]# less /etc/services# 停止容器[root@docker ~]# docker stop c0 c1 c2 c3c0c1c2c3# 删除容器[root@docker ~]# docker rm c0 c1 c2 c3c0c1c2c3# 随机为容器指定映射端口(映射端口大于等于32767端口)[root@docker ~]# docker run -it --name c0 -p80 centos:httpd1 /bin/bash[root@46580643be3c /]# httpd -k startAH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message[root@46580643be3c /]# curl localhost  hh[root@46580643be3c /]# [root@docker ~]# [root@docker ~]# docker ps CONTAINER ID   IMAGE           COMMAND       CREATED          STATUS          PORTS                                     NAMES46580643be3c   centos:httpd1   "/bin/bash"   35 seconds ago   Up 34 seconds   0.0.0.0:32768->80/tcp, :::32768->80/tcp   c0# 浏览器访问宿主机的32768端口

 [root@docker ~]# docker run -it --name c1 -p80 centos:httpd1 /bin/bash[root@fe69a949d832 /]# httpd -k startAH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.3. Set the 'ServerName' directive globally to suppress this message[root@fe69a949d832 /]# [root@docker ~]# [root@docker ~]# docker psCONTAINER ID   IMAGE           COMMAND       CREATED          STATUS          PORTS                                     NAMESfe69a949d832   centos:httpd1   "/bin/bash"   20 seconds ago   Up 19 seconds   0.0.0.0:32769->80/tcp, :::32769->80/tcp   c146580643be3c   centos:httpd1   "/bin/bash"   4 minutes ago    Up 4 minutes    0.0.0.0:32768->80/tcp, :::32768->80/tcp   c0

11、通过宿主机中其他的ip地址的端口映射容器的端口

 # 添加一块虚拟网卡[root@docker ~]# ifconfig ens33:0 10.0.0.101 broadcast 10.0.0.101 netmask 255.255.255.255 up# 强制删除正在运行中的容器[root@docker ~]# docker rm -f c0 c1c0c1# 创建一个容器将容器的80端口映射到宿主机的10.0.0.101地址下的随机端口上[root@docker ~]# docker run -it --name c0 -p10.0.0.101::80 centos:httpd1 /bin/bash[root@c9ea4034d9e2 /]# httpd -k startAH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message[root@c9ea4034d9e2 /]# curl localhost  hh[root@c9ea4034d9e2 /]# [root@docker ~]# [root@docker ~]# docker psCONTAINER ID   IMAGE           COMMAND       CREATED          STATUS          PORTS                      NAMESc9ea4034d9e2   centos:httpd1   "/bin/bash"   43 seconds ago   Up 43 seconds   10.0.0.101:32768->80/tcp   c0# 浏览器访问宿主机10.0.0.101的32768端口

12、容器数据持久化保存(卷映射)

因为dockers容器只是一个工具,不需要保存数据,不需要在持久化,如果要做持久化,那么就需要保存到宿主机上,需要宿主机和容器之间有一个共享卷。

 [root@docker ~]# docker psCONTAINER ID   IMAGE           COMMAND       CREATED          STATUS          PORTS                      NAMESc9ea4034d9e2   centos:httpd1   "/bin/bash"   23 minutes ago   Up 23 minutes   10.0.0.101:32768->80/tcp   c0# 强制删除正在运行中的容器[root@docker ~]# docker rm -f c0c0# 创建映射目录[root@docker ~]# mkdir /source# 创建一个容器并将容器的/data目录映射到宿主机的/source目录上[root@docker ~]# docker run -it --name c0 -v /source:/data centos:httpd1 /bin/bash[root@13f4660eef3e /]# lsbin   dev  home  lib64       media  opt   root  sbin  sys  usrdata  etc  lib   lost+found  mnt    proc  run   srv   tmp  var[root@13f4660eef3e /]# [root@docker ~]# [root@docker ~]# touch /source/hh.txt[root@docker ~]# docker exec c0 ls /datahh.txt[root@docker ~]# docker exec c0 touch /data/hehe.txt[root@docker ~]# ls /source/hehe.txt  hh.txt

13、总结:

(1)镜像的迁移

1)打包
 docker save -o centos.tar centos:lstest
2)加载
 docker load -i centos.tar docker images# 停用关闭容器docker rm c0# 删除镜像docker rmi centos:latest

(2)创建镜像

1)创建镜像
 docker run -it --name c0 centos:latest /bin/bash# 下载阿里云仓库# clean,,makecachectrl p q
2)容器打包
 docker export -o centos_yum.tar c0
3)引入镜像
 docker import -m "updata yum repo" centos_yum.tar centos:yum​docker images

(3)ip网络

1)交互式
 docker start c0docker attach c0yum -y install iprouteip a
2)inspect
 docker inspect c0
3)exec
 docker exec c0 yum -y install net-toolsdocker exec c0 ifconfig

(4)端口

1)指定端口映射
 docker run -it --name c0 -p70:80 centos:httpd /bin/bash
2)随机端口映射
 docker run -it --name c0 -p80 centos:httpd /bin/bash
3)指定其他ip的端口映射
 ifconfig ens33:0 10.0.0.101 broadcast 10.0.0.101 netmask 255.255.255.255 updocker run -it --name c0 -p10.0.0.101::80 centos:httpd /bin/bash

(5)持久化

1)挂载
 mkdir /sourcedocker run -it --name c0 -v /source:/data sentos:httpd /bin/bash

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

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

相关文章

游戏app激励视频广告预加载位置,最大化广告收益

最近收到很多游戏类App开发者咨询激励视频广告,在帮助开发者分析产品的时候,特别是一些初级开发者的App产品,发现用户进入这些App,或者打开某个功能时就弹出激励视频广告,这样是违规的,并且用户看完广告也是…

使用gitee存储项目

gitee地址:Gitee - 基于 Git 的代码托管和研发协作平台 创建gitee远程仓库 将远程仓库内容拉取到本地仓库 复制下面这个地址 通过小乌龟便捷推送拉取代码:https://blog.csdn.net/m0_65520060/article/details/140091437

数字图像处理【15】特征检测——SIFT特征检测

一、引入SIFT算法 上一篇文章我们重温学习了Harris角点检测算法的基本原理,但在实际生产使用Harris检测角点的时候,会发现一个问题,就是用于检测的输入图像的尺寸大小会直接影响到Harris的检测结果。这是为什么呢?主要是Harris角…

2024最新50道NLP和人工智能领域面试题+答案(中文+英文双版本)

编者按:分享一个很硬核的免费人工智能学习网站,通俗易懂,风趣幽默, 可以当故事来看,轻松学习。 中文版本 自然语言处理 (NLP)已成为语言学、人工智能和计算机科学交叉领域的变革性领域。随着文本数据量的不断增加&…

内网横向移动常用方法

横向移动 #横向移动含义 横向移动是以已经被攻陷的系统为跳板,通过收集跳板机的信息(文档,存储的凭证,ipc连接记录等等信息)来访问其他域内主机。#常见横向手段 1,通过相同的用户名密码批量ipc连接其他域内…

【学习笔记】Day 22

一、进度概述 1、机器学习常识23-24,以及相关代码复现 2、python 补完计划(详见 python 专题) 二、详情 23、U-Net 从宏观结构上来讲(以下摘自常识23): U-Net 就是 U 形状的网络, 前半部分 (左边…

三星计划今年HBM4设计,2025年初开始样品测试

三星计划今年晚些时候完成首款HBM4内存设备的设计定稿,2025年初开始样品测试 根据nN Elec援引行业消息人士的报道,三星计划在今年晚些时候完成首款HBM4内存设备的设计定稿,并预计将于2025年初开始样品测试。该公司预计将采用其最新一代10纳米…

详细分析 el-progress的基本知识以及用法(附Demo)

目录 前言1. 基本知识2. Demo3. 实战 前言 由于实战项目中有所引用,对此记录基本的知识点,并且以Demo的形式呈现 1. 基本知识 el-progress 是 Element Plus UI 库中的一个进度条组件,用于显示任务的完成情况 可以帮助用户了解某个操作或任…

[数据集][目标检测]工程机械车辆检测数据集VOC+YOLO格式3189张10类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):3189 标注数量(xml文件个数):3189 标注数量(txt文件个数):3189 标注…

密码生成器(HTML+CSS+JavaScript)

🌏个人博客主页:心.c ​ 前言:前两天写了密码生成器,现在跟大家分享一下,大家如果想使用随便拿,如果哪里有问题还请大佬们给我指出,感谢支持 🔥🔥🔥专题文章&…

Vue3集成高德离线地图实践

1. 离线地图效果预览 2. 地图下载器下载离线地图 根据需要选择地图,我这边选择高德地图,层级选择0-15级别即可,进行下载 3. 放到nginx内网服务器 注意配置允许跨域 4. Vue3核心代码 // main.js // 初始化vue-amap initAMapApiLoader({o…

Android自定义简单TextView

自定义属性 <declare-styleable name"TextView"><!--name 属性名称format 格式&#xff1a;string 文字 color颜色dimension 宽高 字体大小 integer数字reference 资源引用(drawable)--><attr name"YiRanText" format"string"/&…

torchvision中的数据集使用

1.数据集&#xff1a; 自定义数据集transforms中的类 如何将数据集和transforms结合在一起&#xff1f; 以CIFAR10为列 2.CIFAR10数据集的下载与导入 import torchvisiontrain_settorchvision.datasets.CIFAR10(root"./dataset",trainTrue,downloadTrue) test_set…

判别分析2|Bayes判别分析|Fisher判别分析|软件求解

Bayes判别分析 引入先验信息 距离判别只要求知道总体的数字特征&#xff0c;不涉及总体的分布函数 当均值和协方差未知时&#xff0c;就用样本的均值和协方差矩阵做估计值。距离判别方法简单实用&#xff0c;但没有考虑到每个总体出现的机会大小&#xff0c;即先验概率&#…

Git的使用教程及常用语法03

七.如何从版本库中删除文件 第一种方式&#xff1a;直接在工作区删除文件&#xff0c;然后提交 rm ffile1.txt (注意&#xff1a;这个不是git命令&#xff0c;而是linux命令) 看到状态发现&#xff0c;文件file1.txt已经被删除&#xff0c;提示需要提交到暂存区。 因为我们只…

从开发到集成:视频美颜SDK与直播美颜API详解

在本文中&#xff0c;我们将详细探讨视频美颜SDK的开发过程及其与直播美颜API的集成方案&#xff0c;帮助开发者更好地理解和应用这些技术。 一、视频美颜SDK的开发概述 视频美颜SDK是一个用于实时视频处理的开发工具包&#xff0c;提供了包括磨皮、美白、瘦脸、眼睛放大等多…

盘古信息IMS MCM制造协同管理系统:为中小企业数字化转型量身打造的数字化方案

近年来&#xff0c;全球经济的不稳定性&#xff0c;给中小企业的经营和发展带来了巨大的挑战。为提升企业竞争力&#xff0c;中小企业纷纷谋求数字化转型路径&#xff0c;优化生产流程、提高运营效率、降低生产成本&#xff0c;以应对变幻莫测的市场环境。IMS MCM是盘古信息为广…

python爬虫521

爬虫521 记录 记录 最近想学爬虫&#xff0c;尝试爬取自己账号下的文章标题做个词云 csdn有反爬机制 原理我就不说啦 大家都写了 看到大家结果是加cookie 但是我加了还是521报错 尝试再加了referer 就成功了(╹▽╹) import matplotlib import requests from wordcloud impor…

TinaSDKV2.0 自定义系统开发

TinaSDKV2.0 自定义系统开发 什么是自定义系统&#xff1f; TinaSDK Kconfig界面配置 Tina Linux采用 Kconfig 机制对 SDK 和内核进行配置。 Kconfig 是一种固定格式的配置文件。Linux 编译环境中的 menuconfig 程序可以识别这种格式的配置文件&#xff0c;并提取出有效信息…

使用redis模拟cookie-session,例子:实现验证码功能

在前后端分离架构中不建议使用cookie-session机制实现端状态识别 原因&#xff1a; 1.前后端分离存在跨域问题&#xff0c;cookie无法共享 2.后台服务器一旦建立集群&#xff0c;可能导致session数据丢失&#xff0c;即后台有多台服务器&#xff0c;每个服务器存的session不一…