文章目录

  • 一.手动制作单服务的nginx镜像
    • 1.启动一个基础容器,此处我使用的是centos7镜像。
    • 2.修改容器中的软件源
    • 3.安装nginx服务并启动nginx服务
    • 4.修复nginx的首页文件
    • 5.退出容器
    • 6.将退出的容器提交为镜像
    • 7.测试镜像的可用性
  • 二.手动制作多服务的nginx + sshd镜像
    • 1.启用一个基础容器,建议使用上一步安装好的镜像
    • 2.安装sshd服务
    • 3.安装依赖包
    • 4.生成主机的密钥对
    • 5.启动sshd服务
    • 6.修改容器的root密码
    • 7.在宿主机中验证容器的sshd服务是否可用
    • 8.退出容器
    • 9.把安装好的服务提交成镜像
    • 10.验证容器的启动,发现问题
    • 11.解决无法同时启动两个服务的思路(建议两种思路都尝试一下!)
    • 12.退出容器,再次提交镜像
    • 13.再次启动容器进行测试
    • 14.后记
  • 三.手动制作可道云镜像
    • 1.关于可道云
    • 2.可道云镜像文件的环境说明
    • 3.启动基础容器
    • 4.安装php依赖包
    • 5.修改nginx的配置文件
    • 6.修改php程序的运行用户
    • 6.运行php程序
    • 7.解压代码
    • 8.编写启动脚本
    • 9.提交镜像
    • 10.启动镜像
    • 11.登录可道云
  • 四.常见的报错汇总
    • 1.Failed to get D-Bus connection: Operation not permitted
    • 2./usr/sbin/sshd-keygen: line 10: /etc/rc.d/init.d/functions: No such file or directory

一.手动制作单服务的nginx镜像

1.启动一个基础容器,此处我使用的是centos7镜像。

[root@docker01 ~]# docker container run -it -p 80:80 centos:7 /bin/bash

2.修改容器中的软件源

[root@5de898783b49 /]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup ;  curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo ;sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repoyum 命令行补全
[root@5de898783b49 /]# yum install bash-completion -y
[root@5de898783b49 /]# source /etc/profile.d/bash_completion.shss,netstat命令安装
[root@5de898783b49 /]# yum install iproute -y
[root@5de898783b49 /]#  yum install net-tools -y

3.安装nginx服务并启动nginx服务

[root@e19bb4af59b9 /]# yum -y install nginx
[root@e19bb4af59b9 /]# 
[root@e19bb4af59b9 /]# nginx温馨提示:如下图所示,我们无法访问到nginx服务的首页文件,因为index.html指向的目标文件并不存在哟~

在这里插入图片描述

4.修复nginx的首页文件

[root@e19bb4af59b9 /]# rm -f /usr/share/nginx/html/index.html 
[root@e19bb4af59b9 /]# 
[root@e19bb4af59b9 /]# echo "<h1>buffes.com</h1>" > /usr/share/nginx/html/index.html 
[root@e19bb4af59b9 /]# cat /usr/share/nginx/html/index.html 温馨提示:如下图所示,由于默认的index.html文件存在问题,因此需要我们手动处理一下,就可以正常访问服务啦~

5.退出容器

[root@e19bb4af59b9 /]# exit 温馨提示:当我们退出容器后,则容器会跟随者退出了,这意味着在该容器中运行的nginx进程也跟随着退出程序了。综上所述,那么正在运行的程序产生的socket文件以及pid文件可能依旧保留在容器内,并没有对其进行删除!对于某些服务而言,如果pid文件存在的话,可能会对下一次启动服务造成影响,但对于咱们的案例来说并不会造成影响[root@docker01 ~]# docker container ps
[root@docker01 ~]# docker container ps -a

6.将退出的容器提交为镜像

[root@docker01 ~]# docker container commit 5de898783b49 buffes_nginx:v1温馨提示:镜像创建成功后,我们可以使用"docker images"进行查看。[root@docker01 ~]# docker images

7.测试镜像的可用性

[root@docker01 ~]# docker container run -it -d -p 89:80 buffes_nginx:v1 nginx -g 'daemon off;'
[root@docker01 ~]# docker container ps
[root@docker01 ~]# curl -v 172.200.1.201:8888温馨提示:(1)上课的时候需要演示出不执行nginx -g 'daemon off;'的效果,这样学员体验度更加;(2)如果启动咱们自己的镜像时不指定命令,则默认继承我们基于centos 7镜像的默认初始命令,即"/bin/bash";(3)手动制作镜像时貌似无法修改镜像的初始化命令,我们必须学习后面基于自动制作镜像的方式来指定初始化命令。

二.手动制作多服务的nginx + sshd镜像

1.启用一个基础容器,建议使用上一步安装好的镜像

我们想要手动制作多服务的nginx + sshd镜像,目前有两种访问:(1)基于centos7镜像,单独安装nginx和sshd服务;(2)基于我们上一步安装好的镜像,然后单独安装sshd服务;启动基础镜像:
[root@docker01 ~]# docker container run -it -p 90:80 -p 91:22 buffes_nginx:v1 /bin/bash
[root@docker01 ~]# which sshd
[root@docker01 ~]# rpm -qf /usr/sbin/sshd温馨提示:sshd的软件包名称为"openssh-server"。

2.安装sshd服务

[root@134453e5d289 /]# yum -y install openssh-server温馨提示:(1)如下图所示,要求咱们在启动sshd服务之前,得优先启动sshd服务;(2)由于我们的容器镜像比较干净,因此无法直接使用systemctl命令来启动sshd服务,这意味着我们需要手动来启动服务,还好可以参考默认的启动脚本参数;(3)在执行后续的步骤前,请先查看一下"/etc/ssh"目录下的文件。

在这里插入图片描述

3.安装依赖包

[root@134453e5d289 /]# yum -y install initscripts

在这里插入图片描述

4.生成主机的密钥对

[root@134453e5d289 /]# /usr/sbin/sshd-keygen 温馨提示:执行此步骤之前,建议先查看一下"ll /etc/ssh/"

在这里插入图片描述

5.启动sshd服务

[root@134453e5d289 /]# /usr/sbin/sshd

在这里插入图片描述

6.修改容器的root密码

[root@134453e5d289 /]# echo "123456" | passwd --stdin root

在这里插入图片描述

7.在宿主机中验证容器的sshd服务是否可用

[root@docker01 ~]# ssh 172.17.0.2温馨提示:![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/5914f6dffbca42f19a0e91b8a1a3a185.png)登录成功后,请在容器再次执行一次"ps -ef"这样能看到多出来一个"sshd: root@pts/1"和"-bash"的进程哟~

在这里插入图片描述在这里插入图片描述

8.退出容器

[root@134453e5d289 /]# exit 

在这里插入图片描述

9.把安装好的服务提交成镜像

[root@docker201 ~]# docker container commit 134453e5d289 centos7_nginx_sshd:v1温馨提示:提交成镜像后,请思考是否有给自己留坑,如果很自信,绝对没有问题,则请思考下一步的分析。

在这里插入图片描述

10.验证容器的启动,发现问题

[root@docker201 ~]# docker container run -d -p 8888:80 -p 9999:22 centos7_nginx_sshd:v1 nginx -g 'daemon off;'
docker container run -d -p 90:80 -p 91:22 centos7_nginx_sshd:v1.1 nginx -g 'daemon off;'[root@docker201 ~]# docker container run -d -p 18888:80 -p 19999:22 centos7_nginx_sshd:v1 /usr/sbin/sshd -D
docker container run -d -p 18888:80 -p 19999:22 centos7_nginx_sshd:v1.1 /usr/sbin/sshd -D温馨提示:不难发现,我们在测试镜像的时候发现了问题,如下所示,我们无法做到同时启动两个服务。

11.解决无法同时启动两个服务的思路(建议两种思路都尝试一下!)

思路一:如下图所示,我们可用编写一个脚本来帮咱们启动服务,但该脚本的最后启动的服务应该阻塞当前的容器,避免容器退出。[root@0636ae97b332 /]# vi /bufes_init.sh[root@0636ae97b332 /]# [root@0636ae97b332 /]# cat /buffes_init.sh#!/bin/bash# 启动nginx服务,该服务无需阻塞,否则我们就无法启动sshd服务啦!#nginx -g 'daemon off;'nginx# 启动sshd服务,但一定要阻塞当前终端,不能退出,否则容器也会退出,前面执行的命令我们无需阻塞住哟~/usr/sbin/sshd -D[root@0636ae97b332 /]# 思路二:启动容器时指定命令为: /bin/sh -c "nginx;/usr/sbin/sshd -D"温馨提示:容器是不走开机启动流程的,因此不要妄想将其写在"rc.local"配置文件中哟~

12.退出容器,再次提交镜像

[root@docker01 ~]# docker container commit 0636ae97b332 centos7_nginx_sshd:v2
[root@docker01 ~]# docker image ls

13.再次启动容器进行测试

[root@docker01 ~]# docker container run -d -p 172.200.1.201:8888:80 -p 172.200.1.201:9999:22 centos7_nginx_sshd:v2 /bin/bash -x /buffes_init.sh[root@docker01 ~]# docker container ps -a
[root@docker01 ~]# docker container logs 5482b93aed22
[root@docker01 ~]# curl 172.200.1.201:8888
[root@docker01 ~]# ssh root@172.200.1.201:9999
[root@docker01 ~]# ssh root@172.200.1.201 -p 9999docker container run -d -p 10.0.0.24:92:80 -p 10.0.0.24:93:22 centos7_nginx_sshd:v1.2 /bin/bash -x /buffes_init.sh
温馨提示:(1)启动容器时调用咱们的脚本;(2)可以使用logs查看容器的输出内容;(3)如下图所示,启动容器后,请用宿主机的IP地址及端口进行访问;

14.后记

nginx和ssh双服务镜像启动脚本制作:
[root@0d6e9daeea52 /]# cat /buffes-start-birds.sh 
#!/bin/bash# nginx -g "daemon off;"
nginx -g "daemon on;"# init root password
if [ -n "$1" ]; thenecho $1 | passwd --stdin root
elif [ -n "$BUFFES_ADMIN" ]; thenecho $BUFFES_ADMIN | passwd --stdin root
elseecho 321 | passwd --stdin root
fi# Background operation
/usr/sbin/sshd -D[root@0d6e9daeea52 /]# chmod +x /buffes-start-birds.sh [root@docker01 ~]# docker container commit d0b204844fb0 centos7_nginx_sshd_root:v1.4#密码优先级获取得到为 1111
[root@docker01 ~]# docker container run -itd -e BUFFES_ADMIN=4444 centos7_nginx_sshd_root:v1.4 /buffes_init.sh 1111[root@docker01 ~]# docker container ps -l
[root@docker01 ~]# docker container inspect 0d6e9daeea52#通过ssh连接进入,看不到密码的环境变量
[root@docker01 ~]# ssh 172.17.0.2
root@172.17.0.2's password: 1111
[root@0d6e9daeea52 ~]# 
[root@0d6e9daeea52 ~]# env#可以看到有密码的环境变量
[root@docker01 ~]# docker container exec -it fervent_lamport bash
[root@0d6e9daeea52 ~]# env

三.手动制作可道云镜像

1.关于可道云

可道云可以同步备份您的相册或重要资源, 随时随地查看、编辑、分享云端文件,轻松实现移动办公。官方地址:https://kodcloud.com/下载地址:https://kodcloud.com/download/

2.可道云镜像文件的环境说明

我们可以基于上面生成的nginx和ssh的容器继续制作可道云镜像,但可道云是一个PHP项目,因此得在咱们的容器里安装响应的php程序。本案例采用nginx 1.16,php 5.4版本即可。

3.启动基础容器

[root@docker01 ~]# docker container run -it centos7_nginx_sshd:v2 /bin/bash docker container run -it buffes_nginx:v2 /bin/bash 
温馨提示:容器启动成功后,我们可以安装咱们的kod啦~

4.安装php依赖包

[root@b33f88c4edfd /]# yum -y install php-fpm php-mbstring.x86_64 php-gd温馨提示:安装php程序的依赖包。

5.修改nginx的配置文件

(1)创建代码存放目录
[root@b33f88c4edfd /]# mkdir -pv /buffes/html  # 创建存放代码的目录
mkdir: created directory ‘/buffes’
mkdir: created directory ‘/buffes/html’
[root@b33f88c4edfd /]# 
[root@b33f88c4edfd /]# ll /buffes/html/ -d
drwxr-xr-x 2 root root 6 Jun 14 17:29 /buffes/html/
[root@b33f88c4edfd /]# (2)修改nginx的配置文件
[root@b33f88c4edfd /]# egrep -v "^$|^*#" /etc/nginx/nginx.conf.default > /etc/nginx/nginx.conf
[root@b33f88c4edfd /]# 
[root@b33f88c4edfd /]# vi /etc/nginx/nginx.conf
[root@b33f88c4edfd /]# 
[root@b33f88c4edfd /]# cat /etc/nginx/nginx.conf
worker_processes  1;
events {worker_connections  1024;
}
http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;server {listen       80;server_name  localhost;location / {root   /buffes/html;index  index.php index.html index.htm;}location ~ \.php$ {root           html;fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME  /buffes/html$fastcgi_script_name;include        fastcgi_params;}}
}
[root@b33f88c4edfd /]# (3)测试nginx的配置文件是否正确
[root@b33f88c4edfd /]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@b33f88c4edfd /]# 温馨提示:
mkdir -pv /buffes/code/{bird,kod,wordpress}cat > /etc/nginx/conf.d/buffes-bird.conf <<EOFserver {listen       81;root        /buffes/code/bird;}
EOFcat > /etc/nginx/conf.d/buffes-kod.conf <<EOFserver {listen       82;root        /buffes/code/kod;location / {index  index.php index.html index.htm;}location ~ \.php$ {fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;# 注意下使用echo指令时对于特殊符号要使用转义符哟~否则将不识别.fastcgi_param  SCRIPT_FILENAME  /buffes/code/kod\$fastcgi_script_name;include        fastcgi_params;}}
EOF

6.修改php程序的运行用户

[root@b33f88c4edfd /]# vi /etc/php-fpm.d/www.conf温馨提示:如下图所示,我们只需修改运行php的用户名和组名即可。

在这里插入图片描述

6.运行php程序

[root@b33f88c4edfd /]# php-fpm -D

在这里插入图片描述

7.解压代码

(1)将下载的kod软件包上传到容器中
[root@docker01 ~]# docker container cp kodexplorer4.40.zip b33f88c4edfd:/buffes/html(2)安装unzip程序包
[root@b33f88c4edfd /]# yum -y install unzip(3)解压软件包
[root@b33f88c4edfd ~]# cd /oldboyedu/html
[root@b33f88c4edfd html]# 
[root@b33f88c4edfd html]# unzip kodexplorer4.40.zip (3)修改文件权限
[root@b33f88c4edfd html]# chown -R nginx:nginx .

在这里插入图片描述

8.编写启动脚本

[root@b33f88c4edfd html]# vi /buffes_init.sh 
[root@b33f88c4edfd html]# 
[root@b33f88c4edfd html]# 
[root@b33f88c4edfd html]# cat /buffes_init.sh 
#!/bin/bash# 启动nginx服务,该服务无需阻塞,否则我们就无法启动sshd服务啦!
#nginx -g 'daemon off;'
nginx# 启动php程序
php-fpm -D# 启动sshd服务,但一定要阻塞当前终端,不能退出,否则容器也会退出,前面执行的命令我们无需阻塞住哟~
/usr/sbin/sshd -D
[root@82d86b64d693 /]# chmod +x /buffes_init.sh 

9.提交镜像

[root@docker01 ~]# docker image ps -a
[root@docker01 ~]# docker container commit b33f88c4edfd buffes_kod:v1
[root@docker01 ~]# docker image ls

10.启动镜像

[root@docker01 ~]# docker container run -d -p 8888:80 buffes_kod:v1 /bin/bash -x /buffes_init.shdocker container run -d -p 8888:80 buffes_kod:v1 /bin/bash -x /buffes_init.sh
温馨提示:(1)我这里只需要访问80端口,因此我启动容器的时候就只暴露了80端口哟;(2)访问宿主机的8888端口,就可以访问到容器的80端口了,可以访问如下图所示的界面,输入管理员密码即可;

11.登录可道云

在这里插入图片描述

如上图所示,用户默认是"admin",我们使用初始化指定的管理员密码进行登录。登录成功后的界面如下图所示。

在这里插入图片描述

四.常见的报错汇总

1.Failed to get D-Bus connection: Operation not permitted

问题描述:如下图所示,在启动sshd服务时,抛出了"Failed to get D-Bus connection: Operation not permitted"异常。问题原因:未运行"/usr/bin/dbus-daemon"进程。解决方案:方案一:运行"/usr/bin/dbus-daemon"进程,但需要对其进行一定的了解。方案二:手动启动ssh服务。

在这里插入图片描述

[root@docker01 ~]# docker container ps
[root@docker01 ~]# ps -ef | grep -i bus

2./usr/sbin/sshd-keygen: line 10: /etc/rc.d/init.d/functions: No such file or directory

问题描述:手动运行"/usr/sbin/sshd-keygen"脚本时报错。问题原因:该脚本调用系统函数库"functions"。解决方案:yum provides /etc/rc.d/init.d/functions  # 查看该文件被哪个依赖包产生。yum -y install initscripts  # 根据上一步结果得到该步骤。

在这里插入图片描述

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

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

相关文章

Android.mk教程

语法 Android.mk 的必备三行 LOCAL_PATH : $(call my-dir) # Android.mk的目录&#xff0c;call调用函数include $(CLEAR_VARS) # 除了LOCAL_PATH清除所有LOCAL_XXXinclude $(BUILD_SHARED_LIBRARY) # BUILD_XXX, 指定构建类型 # BUILD_SHARED_LIBRARY → .so动态库 # BUILD…

稠密检索:基于神经嵌入的高效语义搜索范式

本文由「大千AI助手」原创发布&#xff0c;专注用真话讲AI&#xff0c;回归技术本质。拒绝神话或妖魔化。搜索「大千AI助手」关注我&#xff0c;一起撕掉过度包装&#xff0c;学习真实的AI技术&#xff01; 1. 背景与定义 稠密检索&#xff08;Dense Retrieval&#xff09;是一…

AI日报0807 | GPT-5或今晚1点来袭:四大版本全曝光

关注&#xff1a;未来世界2099每日分享&#xff1a;全球最新AI资讯【应用商业技术其他】服务&#xff1a;【学习Q】【资源Q】【学习资料】【行业报告】&#xff08;无限免费下载&#xff09;应用 1、讯飞星火代码画布震撼上线&#xff1a;动嘴就能开发&#xff0c;工作效率翻倍…

认识爬虫 —— 正则表达式提取

本质是对字符串的处理&#xff0c;正则表达式描述的是一种字符串匹配的模式。简而言之&#xff0c;用具备一定特征意义的表达式对字符串进行检查&#xff0c;将符合条件的子字符串提取出来。导入模块import re一、单字符匹配match(表达式&#xff0c;匹配对象)&#xff1a;匹配…

单链表专题---暴力算法美学(1)(有视频演示)

1.1 移除链表元素 题目要求&#xff1a;给你一个链表的头节点head 和一个整数val,请你删除链表中所有满足Node.val val 的节点&#xff0c;并返回新的头节点。 思路一&#xff1a;遍历链表&#xff0c;遇到val就删除&#xff0c;pcur指向val的下一个节点&#xff0c;最后只剩…

机器学习-决策树(DecisionTree)

0 回归决策树展示 import pandas as pd import numpy as np from sklearn.tree import DecisionTreeRegressor from sklearn.metrics import root_mean_squared_error, r2_score from sklearn.model_selection import GridSearchCV,KFold from sklearn.model_selection import…

【Java Web】JDBC 连接 MySQL 实现数据库 CRUD(增删改查)详解

在 Java Web 开发中&#xff0c;与数据库交互是不可避免的&#xff0c;而 JDBC&#xff08;Java Database Connectivity&#xff09; 是 Java 官方提供的标准数据库连接接口&#xff0c;几乎所有 Java 项目中都用过它。 本文通过一个完整示例&#xff0c;带你从零实现 增&#…

HTTP 请求返回状态码和具体含义?200、400、403、404、502、503、504等

HTTP 状态码是服务器对客户端请求的响应状态标识&#xff0c;分为五大类&#xff08;以第一位数字区分&#xff09;&#xff0c;常用状态码如下&#xff1a; 1. 信息类&#xff08;1xx&#xff09;&#xff1a;请求已接收&#xff0c;继续处理 100 Continue&#xff1a;服务器已…

13-netty基础-手写rpc-消费方生成代理-05

netty系列文章&#xff1a; 01-netty基础-socket02-netty基础-java四种IO模型03-netty基础-多路复用select、poll、epoll04-netty基础-Reactor三种模型05-netty基础-ByteBuf数据结构06-netty基础-编码解码07-netty基础-自定义编解码器08-netty基础-自定义序列化和反序列化09-n…

ThreadLocal有哪些内存泄露问题,如何避免?

每个Thread都有一个ThreadLocal.ThreadLocalMap的map&#xff0c;该map的key为ThreadLocal实例&#xff0c;它为一个弱引 用&#xff0c;我们知道弱引用有利于GC回收。当ThreadLocal的key null时&#xff0c;GC就会回收这部分空间&#xff0c;但是value却不一 定能够被回收&am…

从0到1学LangChain之Agent代理:解锁大模型应用新姿势

从0到1学LangChain之Agent代理&#xff1a;解锁大模型应用新姿势 本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型开发 学习视频/籽料/面试题 都在这>>Github<< 什么是 LangChain Agent 代理 如果把大模型比作一个超级大脑&#xff0c;那么…

Spring Boot 2.6.0+ 循环依赖问题及解决方案

Spring Boot 2.6.0 循环依赖问题及解决方案 目录 背景解决方案 1. 配置文件开启循环依赖&#xff08;侵入性最低&#xff0c;临时方案&#xff09;2. Lazy 延迟注入&#xff08;侵入性低&#xff0c;推荐优先尝试&#xff09;3. 手动从容器获取&#xff08;ApplicationContex…

本地代码上传Github步骤

1.注册Github账号 2.下载git客户端 下载、安装步骤可以参考网站&#xff1a;(6 封私信 / 10 条消息) 手把手教你用git上传项目到GitHub&#xff08;图文并茂&#xff0c;这一篇就够了&#xff09;&#xff0c;相信你一定能成功&#xff01;&#xff01; - 知乎 3.在Github上…

5G NR 非地面网络 (NTN) 5G、太空和统一网络

非地面网络 5G 和太空&#xff1a;对 NTN 测试与测量的影响NTN 基站测试与测量NTN 用户设备的测试设备R&SSMW200A 矢量信号发生器R&SSMBV100B 矢量信号发生器总结5G 和太空&#xff1a;对 NTN 测试与测量的影响 5G 非地面网络 (NTN) 是无线通信向全球性星基和机载通信…

少儿编程比赛(如蓝桥杯、创意编程大赛等)的题目类型、知识点及难度总结

以下是针对主流少儿编程比赛&#xff08;如蓝桥杯、创意编程大赛等&#xff09;的题目类型、知识点及难度总结&#xff0c;结合了Scratch和C等语言的真题分析&#xff0c;帮助备赛或教学参考&#xff1a; 一、基础操作与交互题&#xff08;适合6~10岁&#xff09; 考察图形化编…

SIFThinker: Spatially-Aware Image Focus for Visual Reasoning

SIFThinker: Spatially-Aware Image Focus for Visual Reasoning Authors: Zhangquan Chen, Ruihui Zhao, Chuwei Luo, Mingze Sun, Xinlei Yu, Yangyang Kang, Ruqi Huang 相关工作总结 视觉思维链推理 最近的研究表明&#xff0c;通过上下文学习逐步推理可以显著提升大型…

学习嵌入式第二十五天

IO 1.概念 IO指input/outputLinux中一切皆文件IO的操作对象是文件 2.文件一段数据的集合文件通常存放在外存中&#xff0c;掉电后数据不丢失分类b(block&#xff0c;块设备文件) 按块扫描信息的文件。通常存储类型的设备为块设备文件。文件IOc(character&#xff0c;字符设备文…

本地部署接入 whisper + ollama qwen3:14b 总结字幕

1. 实现功能 M4-1 接入 whisper ollama qwen3:14b 总结字幕 自动下载视频元数据如果有字幕&#xff0c;只下载字幕使用 ollama 的 qwen3:14b 对字幕内容进行总结 2.运行效果 &#x1f50d; 正在提取视频元数据… &#x1f4dd; 正在下载所有可用字幕… [youtube] Extracting U…

【13-向量化-高效计算】

研究者能够扩展神经网络并构建非常大型网络的原因之一&#xff0c;就是神经网络可以被向量化&#xff0c;vectorized&#xff1b;可以非常高效地用矩阵地乘法实现。 事实上&#xff0c;并行计算硬件&#xff0c;例如GPU&#xff0c;一些CPU的功能&#xff0c;非常擅长进行非常大…

论文中PDF的公式如何提取-公式提取

Mathcheap - An AI-powered, free alternative to Mathpix Snip. 从PDF中截图公式&#xff0c;之后 ctrl V 转换成功 &#xff0c;提取成功 复制到word中&#xff0c;是这样的 这显然不是我们需要的。 可以使用Axmath 复制进去Axmath 就能正常显示公式。 之后再插入word…