09-docker鏡像手動制作

文章目錄

  • 一.手動制作單服務的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…