当前位置: 首页 > news >正文

ubuntu22.04的docker容器中安装ssh服务

ubuntu22.04的docker容器中安装ssh服务,以便外部可以连接到容器中操作。

root@node15:~# cat /etc/issue
Ubuntu 22.04.5 LTS \n \l

root@node15:~# docker ps|grep qwen
7d3c36c37d36   vllm/vllm-openai:v0.7.3                                "python3 -m vllm.ent…"   45 hours ago   Up 45 hours             0.0.0.0:8102->8000/tcp, :::8102->8000/tcp                                                                                                                                qwen2.5-vl-72b
root@node15:~# docker exec -it qwen2.5-vl-72b /bin/bash
root@7d3c36c37d36:/vllm-workspace# netstat -tunlp|grep LISTEN
bash: netstat: command not found
root@7d3c36c37d36:/vllm-workspace# apt install net-tools
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  net-tools
0 upgraded, 1 newly installed, 0 to remove and 78 not upgraded.
Need to get 204 kB of archives.
After this operation, 819 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu jammy/main amd64 net-tools amd64 1.60+git20181103.0eebece-1ubuntu5 [204 kB]
Fetched 204 kB in 1s (144 kB/s)     
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package net-tools.
(Reading database ... 29384 files and directories currently installed.)
Preparing to unpack .../net-tools_1.60+git20181103.0eebece-1ubuntu5_amd64.deb ...
Unpacking net-tools (1.60+git20181103.0eebece-1ubuntu5) ...
Setting up net-tools (1.60+git20181103.0eebece-1ubuntu5) ...
root@7d3c36c37d36:/vllm-workspace# netstat -tunlp|grep LISTEN
tcp        0      0 127.0.0.11:44857        0.0.0.0:*               LISTEN      -                   
tcp        0      0 192.168.48.2:58107      0.0.0.0:*               LISTEN      310/python3         
tcp        0      0 192.168.48.2:59035      0.0.0.0:*               LISTEN      311/python3         
tcp        0      0 192.168.48.2:60607      0.0.0.0:*               LISTEN      309/python3         
tcp        0      0 192.168.48.2:53561      0.0.0.0:*               LISTEN      310/python3         
tcp        0      0 192.168.48.2:55133      0.0.0.0:*               LISTEN      309/python3         
tcp        0      0 192.168.48.2:54617      0.0.0.0:*               LISTEN      311/python3         
tcp        0      0 192.168.48.2:57269      0.0.0.0:*               LISTEN      311/python3         
tcp        0      0 192.168.48.2:56415      0.0.0.0:*               LISTEN      310/python3         
tcp        0      0 192.168.48.2:56765      0.0.0.0:*               LISTEN      311/python3         
tcp        0      0 192.168.48.2:49247      0.0.0.0:*               LISTEN      68/python3          
tcp        0      0 192.168.48.2:52421      0.0.0.0:*               LISTEN      68/python3          
tcp        0      0 192.168.48.2:45507      0.0.0.0:*               LISTEN      311/python3         
tcp        0      0 127.0.0.1:44069         0.0.0.0:*               LISTEN      68/python3          
tcp        0      0 192.168.48.2:46687      0.0.0.0:*               LISTEN      68/python3          
tcp        0      0 192.168.48.2:46935      0.0.0.0:*               LISTEN      68/python3          
tcp        0      0 192.168.48.2:46121      0.0.0.0:*               LISTEN      310/python3         
tcp        0      0 192.168.48.2:46513      0.0.0.0:*               LISTEN      309/python3         
tcp        0      0 192.168.48.2:48837      0.0.0.0:*               LISTEN      309/python3         
tcp        0      0 192.168.48.2:41667      0.0.0.0:*               LISTEN      310/python3         
tcp        0      0 192.168.48.2:41097      0.0.0.0:*               LISTEN      309/python3         
tcp        0      0 192.168.48.2:42797      0.0.0.0:*               LISTEN      310/python3         
tcp        0      0 0.0.0.0:8000            0.0.0.0:*               LISTEN      1/python3           
tcp        0      0 192.168.48.2:37179      0.0.0.0:*               LISTEN      311/python3         
tcp        0      0 192.168.48.2:38189      0.0.0.0:*               LISTEN      68/python3          
tcp        0      0 192.168.48.2:40845      0.0.0.0:*               LISTEN      68/python3          
tcp        0      0 192.168.48.2:40249      0.0.0.0:*               LISTEN      68/python3          
tcp        0      0 192.168.48.2:34167      0.0.0.0:*               LISTEN      309/python3         
tcp        0      0 192.168.48.2:35607      0.0.0.0:*               LISTEN      310/python3         
tcp        0      0 192.168.48.2:36851      0.0.0.0:*               LISTEN      309/python3         
tcp        0      0 192.168.48.2:36699      0.0.0.0:*               LISTEN      311/python3         
tcp6       0      0 :::56307                :::*                    LISTEN      68/python3          
root@7d3c36c37d36:/vllm-workspace# netstat -tunlp|grep LISTEN|grep 22
root@7d3c36c37d36:/vllm-workspace# apt install ssh      
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  libwrap0 ncurses-term openssh-server openssh-sftp-server ssh-import-id
Suggested packages:
  molly-guard monkeysphere ssh-askpass ufw
The following NEW packages will be installed:
  libwrap0 ncurses-term openssh-server openssh-sftp-server ssh ssh-import-id


4;2m
c
# This is the sshd server system-wide configuration file.  See
# sshd_config(5) for more information.

#HostbasedAuthentication no
#SyslogFacility AUTH
#LogLevel INFO

# Authentication:

#LoginGraceTime 2m
PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

#PubkeyAuthentication yes

# Expect .ssh/authorized_keys2 to be disregarded by default in future.
#AuthorizedKeysFile     .ssh/authorized_keys .ssh/authorized_keys2

#AuthorizedPrincipalsFile none

#AuthorizedKeysCommand none
#AuthorizedKeysCommandUser nobody

# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes

# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
#PermitEmptyPasswords no

# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
KbdInteractiveAuthentication no

# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no

# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes
#GSSAPIStrictAcceptorCheck yes
#GSSAPIKeyExchange no

# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the KbdInteractiveAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via KbdInteractiveAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and KbdInteractiveAuthentication to 'no'.
UsePAM yes

#AllowAgentForwarding yes
#AllowTcpForwarding yes
4;m"/etc/ssh/sshd_config" 122L, 3239B written                                                                                                                                        
4;m
0 upgraded, 6 newly installed, 0 to remove and 78 not upgraded.
Need to get 804 kB of archives.
After this operation, 6291 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 openssh-sftp-server amd64 1:8.9p1-3ubuntu0.11 [38.7 kB]
Get:2 http://archive.ubuntu.com/ubuntu jammy/main amd64 libwrap0 amd64 7.6.q-31build2 [47.9 kB]
Get:3 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 openssh-server amd64 1:8.9p1-3ubuntu0.11 [435 kB]
Get:4 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 ssh all 1:8.9p1-3ubuntu0.11 [4852 B]
Get:5 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 ncurses-term all 6.3-2ubuntu0.1 [267 kB]
Get:6 http://archive.ubuntu.com/ubuntu jammy/main amd64 ssh-import-id all 5.11-0ubuntu1 [10.1 kB]
Fetched 804 kB in 6s (146 kB/s)       
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package openssh-sftp-server.
(Reading database ... 29433 files and directories currently installed.)
Preparing to unpack .../0-openssh-sftp-server_1%3a8.9p1-3ubuntu0.11_amd64.deb ...
Unpacking openssh-sftp-server (1:8.9p1-3ubuntu0.11) ...
Selecting previously unselected package libwrap0:amd64.
Preparing to unpack .../1-libwrap0_7.6.q-31build2_amd64.deb ...
Unpacking libwrap0:amd64 (7.6.q-31build2) ...
Selecting previously unselected package openssh-server.
Preparing to unpack .../2-openssh-server_1%3a8.9p1-3ubuntu0.11_amd64.deb ...
Unpacking openssh-server (1:8.9p1-3ubuntu0.11) ...
Selecting previously unselected package ssh.
Preparing to unpack .../3-ssh_1%3a8.9p1-3ubuntu0.11_all.deb ...
Unpacking ssh (1:8.9p1-3ubuntu0.11) ...
Selecting previously unselected package ncurses-term.
Preparing to unpack .../4-ncurses-term_6.3-2ubuntu0.1_all.deb ...
Unpacking ncurses-term (6.3-2ubuntu0.1) ...
Selecting previously unselected package ssh-import-id.
Preparing to unpack .../5-ssh-import-id_5.11-0ubuntu1_all.deb ...
Unpacking ssh-import-id (5.11-0ubuntu1) ...
Setting up openssh-sftp-server (1:8.9p1-3ubuntu0.11) ...
Setting up ssh-import-id (5.11-0ubuntu1) ...
Setting up libwrap0:amd64 (7.6.q-31build2) ...
Setting up ncurses-term (6.3-2ubuntu0.1) ...
Setting up openssh-server (1:8.9p1-3ubuntu0.11) ...

Creating config file /etc/ssh/sshd_config with new version
Creating SSH2 RSA key; this may take some time ...
3072 SHA256:5KlUbR+mj4rQYm1FD30BYwYRAqzWgwXONXGW610/Hj0 root@7d3c36c37d36 (RSA)
Creating SSH2 ECDSA key; this may take some time ...
256 SHA256:kGZUG3xhPLQPF1ujDnW+MJdXx45kqoDTC9Vf26BvCD0 root@7d3c36c37d36 (ECDSA)
Creating SSH2 ED25519 key; this may take some time ...
256 SHA256:OIcPYhmTREwAXKbdibbwDIZlxzLsHryXVgvu1o0lvT4 root@7d3c36c37d36 (ED25519)
invoke-rc.d: could not determine current runlevel
invoke-rc.d: policy-rc.d denied execution of start.
Created symlink /etc/systemd/system/sshd.service → /lib/systemd/system/ssh.service.
Created symlink /etc/systemd/system/multi-user.target.wants/ssh.service → /lib/systemd/system/ssh.service.
Setting up ssh (1:8.9p1-3ubuntu0.11) ...
Processing triggers for libc-bin (2.35-0ubuntu3.4) ...
root@7d3c36c37d36:/vllm-workspace# netstat -tunlp|grep LISTEN|grep 22
root@7d3c36c37d36:/vllm-workspace# systemctl restart sshd
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
root@7d3c36c37d36:/vllm-workspace# netstat -tunlp|grep LISTEN|grep 22
root@7d3c36c37d36:/vllm-workspace# vi /etc/ssh/
moduli                    ssh_config.d/             ssh_host_ecdsa_key.pub    ssh_host_ed25519_key.pub  ssh_host_rsa_key.pub      sshd_config               
ssh_config                ssh_host_ecdsa_key        ssh_host_ed25519_key      ssh_host_rsa_key          ssh_import_id             sshd_config.d/            
root@7d3c36c37d36:/vllm-workspace# vi /etc/ssh/
moduli                    ssh_config.d/             ssh_host_ecdsa_key.pub    ssh_host_ed25519_key.pub  ssh_host_rsa_key.pub      sshd_config               
ssh_config                ssh_host_ecdsa_key        ssh_host_ed25519_key      ssh_host_rsa_key          ssh_import_id             sshd_config.d/          

允许root登录 
root@7d3c36c37d36:/vllm-workspace# vi /etc/ssh/sshd_config


root@7d3c36c37d36:/vllm-workspace# passwd root
New password: 
Retype new password: 
passwd: password updated successfully

启动ssh服务:

exit
root@node15:/disk2/qwen-2.5-vl-72b# docker exec -it qwen2.5-vl-72b /bin/bash
root@7d3c36c37d36:/vllm-workspace# service ssh stop  
 * Stopping OpenBSD Secure Shell server sshd                                                                                                                                                              [ OK ] 
root@7d3c36c37d36:/vllm-workspace# service ssh start
 * Starting OpenBSD Secure Shell server sshd                                                                                                                                                              [ OK ] 
root@7d3c36c37d36:/vllm-workspace# service ssh status
 * sshd is running
root@7d3c36c37d36:/vllm-workspace# netstat -tunlp|grep LISTEN|grep 22
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1290/sshd: /usr/sbi 
tcp6       0      0 :::22                   :::*                    LISTEN      1290/sshd: /usr/sbi 
root@7d3c36c37d36:/vllm-workspace# service ssh stop
 * Stopping OpenBSD Secure Shell server sshd                                                                                                                                                              [ OK ] 
root@7d3c36c37d36:/vllm-workspace# netstat -tunlp|grep LISTEN|grep 22
root@7d3c36c37d36:/vllm-workspace# /usr/sbin/sshd -D &
[1] 1322
root@7d3c36c37d36:/vllm-workspace# netstat -tunlp|grep LISTEN|grep 22
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1322/sshd: /usr/sbi 
tcp6       0      0 :::22                   :::*                    LISTEN      1322/sshd: /usr/sbi 
root@7d3c36c37d36:/vllm-workspace# service ssh stop
 * Stopping OpenBSD Secure Shell server sshd                                                                                                                                                              [ OK ] 
[1]+  Done                    /usr/sbin/sshd -D
root@7d3c36c37d36:/vllm-workspace# netstat -tunlp|grep LISTEN|grep 22
root@7d3c36c37d36:/vllm-workspace# /usr/sbin/sshd -D &
[1] 1345
root@7d3c36c37d36:/vllm-workspace# 


root@7d3c36c37d36:/vllm-workspace# /etc/init.d/ssh start
 * Starting OpenBSD Secure Shell server sshd                                                                                                                                                              [ OK ] 
root@7d3c36c37d36:/vllm-workspace# netstat -tunlp|grep LISTEN|grep 22
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1189/sshd: /usr/sbi 
tcp6       0      0 :::22                   :::*                    LISTEN      1189/sshd: /usr/sbi 
root@7d3c36c37d36:/vllm-workspace# 

保存容器:

root@node15:~# docker ps|grep llm
7d3c36c37d36   vllm/vllm-openai:v0.7.3                                "python3 -m vllm.ent…"   45 hours ago   Up 45 hours             0.0.0.0:8102->8000/tcp, :::8102->8000/tcp                                                                                                                                qwen2.5-vl-72b

root@node15:~# docker commit 7d3c36c37d36 vllm/vllm-openai:v0.7.3
sha256:68e6945f7f6bbbb14451a181461d45f6625044e3b776b42d9efaafcf57dd40bf
root@node15:~# docker images|grep llm
vllm/vllm-openai                                                                v0.7.3                         68e6945f7f6b   10 seconds ago   16.5GB
vllm/vllm-openai                                                                <none>                         a0b3e59739e9   3 days ago       16.4GB
vllm/vllm-openai                                                                v0.6.5                         56aa649484bf   2 months ago     10.1GB
 

重启docker,增加端口映射:

root@node15:~# cd /disk2/qwen-2.5-vl-72b
root@node15:/disk2/qwen-2.5-vl-72b# more docker-compose.yml 
services:
  # vllm
  vllm-openai:
    image: vllm/vllm-openai:v0.7.3
    container_name: qwen2.5-vl-72b
    restart: unless-stopped
    runtime: nvidia
    ports:
      - 8102:8000
      - 8122:22
    volumes:
      - /disk2/:/models
    command: >
      --model /models/qwen-2.5-vl-72b
      --tokenizer_mode="auto"
      --dtype=bfloat16
      --tensor_parallel_size=4
      --gpu-memory-utilization=0.9
      --max-model-len=16384
      --served-model-name=Qwen2.5-VL-72B-Instruct
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              capabilities: [gpu]
              device_ids: [ "0","1","2","3" ]
    ipc: host
networks:
        vllm:

启停容器

root@node15:/disk2/qwen-2.5-vl-72b#

docker compose -f docker-compose.yml down

docker compose -f docker-compose.yml up -d

相关文章:

ubuntu22.04的docker容器中安装ssh服务

ubuntu22.04的docker容器中安装ssh服务&#xff0c;以便外部可以连接到容器中操作。 rootnode15:~# cat /etc/issue Ubuntu 22.04.5 LTS \n \l rootnode15:~# docker ps|grep qwen 7d3c36c37d36 vllm/vllm-openai:v0.7.3 "python3 -m …...

卷积这个词在卷积神经网络中应该怎么理解

卷积的定义 数学概念&#xff1a; 在数学上&#xff0c;卷积是一种操作&#xff0c;通常用于两个函数之间的运算。对于图像处理而言&#xff0c;这些函数通常是输入图像和一个称为“卷积核”或“滤波器”的小矩阵。 在CNN中的应用&#xff1a; 卷积操作是通过滑动窗口&#xf…...

设计模式教程:迭代器模式(Iterator Pattern)

迭代器模式&#xff08;Iterator Pattern&#xff09;是设计模式中的一种行为型模式&#xff0c;它允许顺序访问一个集合对象中的元素&#xff0c;而无需暴露集合对象的内部结构。换句话说&#xff0c;迭代器模式提供了一个方法&#xff0c;能让你遍历集合中的元素&#xff0c;…...

C语言学习【1】C语言关于寄存器的封装

目录 1.封装寄存的C语言的语法volatile&#xff1a;unsigned int:*pGpiobOdrvolatile unsigned int * 2.进一步C语言的封装 在嵌入式中&#xff0c;底层一定是操作寄存器&#xff0c;我有一个理念&#xff0c;凡事一定要想清楚&#xff0c;把任何知识点融入自己的理解之中&…...

鸿蒙app 开发中的 == 和 === 的区别

在鸿蒙 App 开发中&#xff0c;如果你使用 JavaScript 或 TypeScript 进行编码&#xff0c; 和 是用于比较值的运算符&#xff0c;它们的主要区别在于比较的严格程度&#xff0c;下面为你详细介绍&#xff1a; 1. &#xff08;宽松相等运算符&#xff09; 比较规则&#xff1…...

【算法】冒泡排序

目录 一、算法概述 二、算法原理 1. 核心思想 2. 排序过程演示 三、标准实现代码 四、时间复杂度分析 五、优化策略 1. 提前终止优化 2. 记录最后交换位置 六、算法特性 七、实际应用 八、扩展思考 九、总结 一、算法概述 冒泡排序&#xff08;Bubble Sort&#xff0…...

R Excel 文件:高效数据处理的利器

R Excel 文件:高效数据处理的利器 在数据分析领域,R语言因其强大的统计分析和可视化功能而备受推崇。而R Excel文件,作为R语言与Excel的桥梁,使得数据在R和Excel之间的高效转换成为可能。本文将详细介绍R Excel文件的概念、应用场景以及操作方法。 一、R Excel文件的概念…...

数据库(MySQL):使用命令从零开始在Navicat创建一个数据库及其数据表(一).创建基础表

一. 使用工具和命令 1.1 使用的工具 Navicat Premium 17 &#xff1a;“Navicat”是一套可创建多个连接的数据库管理工具。 MySQL版本8.0.39 。 1.2 使用的命令 Navicat中使用的命令 命令 命令解释 SHOW DATABASES&#xff1b; 展示所有的数据库 CREATE DATABASE 数据…...

电力通信物联网应用,国密网关守护电力数据安全

电力国密网关是用于保护电力调度数据网路由器和电力系统的局域网之间通信安全的电力专用网关机&#xff0c;主要为上下级控制系统之间的广域网通信提供认证与加密服务&#xff0c;实现数据传输的机密性、完整性。 国密算法网关功能特点 身份认证&#xff1a;对接入的设备和用户…...

vue:vite 代理服务器 proxy 配置

Vite 代理服务器&#xff08;Proxy&#xff09;的配置通常用于开发环境&#xff0c;以解决跨域请求等问题。以下是一个详细的配置步骤&#xff1a; 通过以上步骤&#xff0c;你就可以在 Vite 项目中配置代理服务器&#xff0c;以便在开发过程中方便地访问后端服务。 ‌找到 Vi…...

Java【网络原理】(2)初识网络续与网络编程

目录 1.前言 2.正文 2.1TCP协议与UDP协议 2.2socket API进行网络编程 2.2.1DatagramPacket类 2.2.1.1发送数据报 2.2.1.2接收数据报 2.2.1.3获取数据报内容 2.2.1.4设置数据报内容 2.2.2DatagramSocket类 2.2.2.1构造方法 2.2.2.2常用方法 2.2.3具体代码与解释 3…...

AI+集装箱号码识别技术,主要发展方向和应用潜力

集装箱号码识别技术作为物流数字化的重要工具&#xff0c;其应用前景随着全球供应链的智能化升级和绿色转型需求不断扩大。结合当前技术发展和行业实践&#xff0c;以下是其未来的主要发展方向和应用潜力&#xff1a; 1.物流与港口智能化管理 自动化识别与效率提升&#xff1…...

安装可视化jar包部署平台JarManage

一、下载 下载地址&#xff1a;JarManage 发行版 - Gitee.com &#x1f692; 下载 最新发行版 下载zip的里面linux和windows版本都有 二、运行 上传到服务器&#xff0c;解压进入目录 &#x1f69a; 执行java -jar jarmanage-depoly.jar 命令运行 java -jar jarmanage-dep…...

后端之JPA(EntityGraph+JsonView)

不同表之间的级联操作或者说关联查询是很多业务场景都会用到的。 对于这种需求最朴素的方法自然是手动写关联表&#xff0c;然后对被关联的表也是手动插入数据。但是手写容易最后写成一堆shit代码&#xff0c;而且修改起来也是非常麻烦的。 学会使用现成的工具还是非常有利的…...

Java数据结构第十三期:走进二叉树的奇妙世界(二)

专栏&#xff1a;数据结构(Java版) 个人主页&#xff1a;手握风云 目录 一、二叉树的遍历 1.1. 前序遍历 1.2. 中序遍历 1.3. 后序遍历 1.4. 完整代码 二、二叉树的基本操作 2.1. 获取树中结点个数 2.1. 获取叶子结点个数 2.3. 获取第k层结点的个数 2.4. 获取二叉树的…...

JavaScript系列(86)--现代构建工具详解

JavaScript 现代构建工具详解 &#x1f528; 现代前端开发离不开构建工具&#xff0c;它们帮助我们处理模块打包、代码转换、资源优化等任务。让我们深入了解主流的构建工具及其应用。 构建工具概述 &#x1f31f; &#x1f4a1; 小知识&#xff1a;构建工具主要解决代码转换…...

docker容器网络配置及常用操作

Linux内核实现名称空间的创建 ip netns&#xff08;网络名称空间&#xff09;命令 可以借助ip netns命令来完成对 Network Namespace 的各种操作。ip netns命令来自于iproute安装包&#xff0c;一般系统会默认安装&#xff0c;如果没有的话&#xff0c;请自行安装。 注意&am…...

Docker 性能优化指南

Docker 提供了强大的容器化功能&#xff0c;能够帮助开发者在不同的环境中构建、测试和部署应用。然而&#xff0c;随着容器化应用的不断增长&#xff0c;Docker 容器可能会面临一些性能瓶颈&#xff0c;影响其运行效率、资源占用和扩展能力。为了确保容器在生产环境中的高效运…...

课程1. 深度学习简介

课程1. 深度学习简介 神经网络结构逻辑回归XOR问题&#xff08;异或问题&#xff09; 中间特征的生成全连接神经网络中间网络层的激活函数Sigmoid函数Tanh函数ReLU函数其它激活函数 使用全连接神经网络解决 XOR 问题神经网络用于回归问题训练神经网络 不同类型的神经网络 附加材…...

【cuda学习日记】4.3 结构体数组与数组结构体

4.3 数组结构体&#xff08;AoS&#xff09;和结构体数组&#xff08;SoA&#xff09; AoS方法进行存储 struct innerStruct{float x;float y; };struct innerStruct myAOS[N];SoA方法来存储数据 struct innerArray{float x[N];float y[N]; };struct innerArray moa;如图说明…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下&#xff0c;越来越多的求职者将目光投向了日本及中日双语岗位。但是&#xff0c;一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧&#xff1f;面对生疏的日语交流环境&#xff0c;即便提前恶补了…...

【Oracle APEX开发小技巧12】

有如下需求&#xff1a; 有一个问题反馈页面&#xff0c;要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据&#xff0c;方便管理员及时处理反馈。 我的方法&#xff1a;直接将逻辑写在SQL中&#xff0c;这样可以直接在页面展示 完整代码&#xff1a; SELECTSF.FE…...

跨链模式:多链互操作架构与性能扩展方案

跨链模式&#xff1a;多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈&#xff1a;模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展&#xff08;H2Cross架构&#xff09;&#xff1a; 适配层&#xf…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)

Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败&#xff0c;具体原因是客户端发送了密码认证请求&#xff0c;但Redis服务器未设置密码 1.为Redis设置密码&#xff08;匹配客户端配置&#xff09; 步骤&#xff1a; 1&#xff09;.修…...

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面&#xff0c;避免重复抓取&#xff0c;以节省资源和时间。 在分布式环境下&#xff0c;增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路&#xff1a;将增量判…...

2025季度云服务器排行榜

在全球云服务器市场&#xff0c;各厂商的排名和地位并非一成不变&#xff0c;而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势&#xff0c;对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析&#xff1a; 一、全球“三巨头”…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

uniapp 字符包含的相关方法

在uniapp中&#xff0c;如果你想检查一个字符串是否包含另一个子字符串&#xff0c;你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的&#xff0c;但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...