`docker run --restart no,always,on-failure,unless-stopped`笔记250406
docker run --restart no,always,on-failure,unless-stopped
笔记250406
docker run --restart
用于配置容器的自动重启策略,当容器意外退出时,Docker 会根据策略自动重新启动容器。这是确保服务高可用的重要参数。
语法
docker run --restart <策略> [其他参数] <镜像>
可选策略
-
no
默认值,容器退出后不会自动重启。 -
on-failure[:max-retries]
- 容器以非 0 状态码退出时自动重启(例如程序崩溃)。
- 可选的
:max-retries
指定最大重试次数(例如on-failure:3
)。
-
always
- 无论退出状态码是什么,都自动重启容器(包括手动停止容器后,Docker 服务重启时也会启动该容器)。
- 注意:
docker stop
手动停止的容器不会触发此策略。
-
unless-stopped
- 无论退出状态码是什么,都自动重启容器。
- 与
always
的区别:如果容器是手动停止的(docker stop
),即使 Docker 服务重启,容器也不会自动启动。
策略 | 说明 |
---|---|
no | 默认值,容器退出后不会自动重启。 |
always | 无论容器因何退出(包括手动停止),都会无限次尝试重启。 (除非使用 docker stop 停止容器,否则会一直重启) |
on-failure | 仅在容器以非零状态码退出时重启。 可指定最大重试次数(如 on-failure:3 表示最多尝试重启3次)。 |
unless-stopped | 类似 always ,但如果容器被手动停止(docker stop ),则不会自动重启,直到 Docker 服务重启(如宿主机重启后)。 |
使用示例
-
容器崩溃时自动重启(最多重试 3 次)
docker run --restart=on-failure:3 my_app
-
始终自动重启(适合关键服务)
docker run --restart=always nginx
-
除非手动停止,否则自动重启
docker run --restart=unless-stopped mysql
1. 总是自动重启
docker run -d --restart always nginx
- 场景:需要容器始终保持运行,即使被手动停止(除非显式执行
docker stop
)。 - 注意:如果容器因错误退出(如内部崩溃),会无限重启。
2. 仅在失败时重启
docker run -d --restart on-failure:5 my_app
- 场景:容器正常退出时(如任务完成)无需重启,仅在崩溃(非零退出码)时重启。
on-failure:5
表示最多尝试重启5次,超过后不再重启。
3. 除非手动停止,否则重启
docker run -d --restart unless-stopped redis
- 场景:容器需要长期运行,但允许手动停止后不再重启(除非宿主机重启)。
- 行为:
- 如果手动执行
docker stop
,容器停止且不会自动重启。 - 如果宿主机重启,Docker 服务启动后,容器会自动重启。
- 如果手动执行
注意事项
-
手动停止的优先级:
- 如果使用
docker stop
停止容器,always
和unless-stopped
策略会暂停重启,但unless-stopped
在宿主机重启后恢复。 on-failure
不会因手动停止触发重启。
- 如果使用
-
退出状态码:
on-failure
仅在容器进程返回非零退出码时生效。例如:- 程序崩溃(非零码) → 触发重启。
- 正常退出(退出码0) → 不重启。
-
Docker 服务重启:
always
和unless-stopped
策略的容器会在 Docker 服务重启(如宿主机重启)后自动启动。
-
查看重启策略:
docker inspect --format='{{.HostConfig.RestartPolicy.Name}}' <容器名>
常见问题
-
如何查看容器的重启策略?
docker inspect --format='{{.HostConfig.RestartPolicy.Name}}' 容器名
-
为什么
always
策略的容器被手动停止后仍会重启?
如果 Docker 服务(守护进程)重启,或者宿主机重启,always
策略的容器会被重新启动。若需避免此行为,改用unless-stopped
。 -
如何诊断容器频繁重启的问题?
- 查看容器日志:
docker logs 容器名
- 检查容器退出状态码:
docker inspect 容器名
(关注State.ExitCode
)
- 查看容器日志:
总结
策略 | 适用场景 | 手动停止后的行为 |
---|---|---|
no | 临时任务或测试容器 | 停止后不再启动 |
always | 必须持续运行的服务(如 Web 服务器) | 手动停止后仍会重启 |
on-failure | 需要容错的后台服务(如定时任务) | 手动停止后不会重启 |
unless-stopped | 长期运行且允许手动暂停的服务(如数据库) | 手动停止后需宿主机重启才会恢复 |
docker run
的 --restart
参数用于定义容器的自动重启策略,确保容器在意外退出或系统故障后自动恢复。以下是详细说明和示例:
参数取值及行为
策略值 | 行为说明 |
---|---|
no (默认) | 容器退出后不自动重启。 |
on-failure | 仅在容器非正常退出(退出码非0)时自动重启,适合批处理任务或临时服务。 |
always | 无论退出码是什么,容器都会自动重启,适合长期运行的服务(如 Web 服务器)。 |
unless-stopped | 始终重启容器,除非显式执行 docker stop 或 docker rm 。 |
使用示例
-
始终自动重启容器(如 Web 服务)
docker run -d --restart always nginx
- 无论容器因何退出(如配置错误、崩溃),都会自动重启。
-
仅在容器异常退出时重启(如批处理任务)
docker run --restart on-failure:5 my-script.sh
:5
表示最多重启5次,超过后不再尝试。
-
后台运行并设置重启策略(如数据库)
docker run -d --name my-db --restart unless-stopped postgres
- 容器会随 Docker 服务启动而自动运行,除非手动停止。
注意事项
-
重启策略生效条件:
- 容器必须是通过
docker run
启动的。 - 如果容器被
docker stop
或docker rm
显式停止,unless-stopped
策略不会触发重启。
- 容器必须是通过
-
资源消耗风险:
- 避免为可能频繁崩溃的容器设置
always
,可能导致系统资源耗尽。
- 避免为可能频繁崩溃的容器设置
-
查看当前策略:
docker inspect <容器ID> --format='{{.HostConfig.RestartPolicy.Name}}'
完整命令示例
启动一个自动重启的 Redis 服务,并限制最大重启次数:
docker run -d \--name redis-server \--restart on-failure:10 \redis
- 容器最多自动重启10次,若仍失败则停止。
通过合理配置 --restart
,可以显著提升容器的健壮性和可用性。
以下是关于 Docker --restart
参数的详细说明,结合知识库中的信息整理而成:
1. 参数作用
--restart
是 docker run
命令中的一个选项,用于设置容器的重启策略,控制容器在退出后的自动重启行为。
Docker 守护进程会根据策略决定是否在容器退出时自动重启它。
2. 支持的策略类型
Docker 支持以下四种重启策略(来自知识库条目[1][4][7]):
策略 | 描述 |
---|---|
no | 默认策略。容器退出时,不会自动重启。 |
on-failure | 容器退出状态码非 0 时自动重启。可指定最大重试次数(如 on-failure:3 )。 |
always | 无论退出状态码如何,容器退出时总会自动重启。 |
unless-stopped | 与 always 类似,但排除了一种情况:如果容器是通过 docker stop 或 docker restart 手动停止的,则不会自动重启。 |
3. 使用示例
(1) 启动容器时设置重启策略
# 使用 always 策略(总是重启)
docker run --restart=always -d nginx# 使用 on-failure 策略并指定最大重试次数
docker run --restart=on-failure:3 -d my_app# 使用 unless-stopped 策略
docker run --restart=unless-stopped -d mysql
(2) 修改已运行容器的重启策略
如果容器已经启动,可以通过 docker update
命令修改策略(来自知识库条目[1][2][4]):
# 将容器 my_container 的策略改为 always
docker update --restart=always my_container
4. 关键注意事项
-
适用场景:
always
:适用于需要持续运行的服务(如数据库、Web 服务器)。on-failure
:适用于需要避免因错误退出导致服务中断的场景(如应用崩溃)。unless-stopped
:适合希望容器始终保持运行,除非手动停止的情况。
-
限制条件(来自知识库条目[2][5][7]):
- 需后台运行:
--restart
仅对 后台模式(-d) 的容器生效,不能与--rm
参数同时使用。 - 成功启动后生效:重启策略仅在容器成功启动(至少运行 10 秒)后生效,否则可能触发无限重启循环。
- Docker 守护进程重启:若 Docker 守护进程本身重启,所有设置了
always
或unless-stopped
的容器会自动重启。
- 需后台运行:
-
退出状态码:
0
:正常退出,不会触发on-failure
策略。- 非
0
:表示异常退出,触发on-failure
策略。 - 特殊状态码(如
125
、126
、127
)通常与容器启动失败相关,可能不会触发重启(需结合具体场景)。
5. 实际场景示例
场景 1:确保容器始终运行
# 启动 Nginx 容器并设置 always 策略
docker run --restart=always -d -p 80:80 --name webserver nginx
- 即使主机重启或容器意外退出,Docker 会自动重启该容器。
场景 2:条件性重启
# 启动应用容器,仅在非正常退出时重启,最多尝试 3 次
docker run --restart=on-failure:3 -d my_app
- 若容器因代码错误(状态码非
0
)退出,会尝试重启最多 3 次。
场景 3:手动停止后不自动重启
# 使用 unless-stopped 策略
docker run --restart=unless-stopped -d mysql
- 正常退出时会自动重启,但若手动执行
docker stop mysql
,则即使 Docker 守护进程重启,容器也不会自动启动。
6. 验证策略设置
查看容器的重启策略
# 方法 1:通过 docker inspect
docker inspect --format='{{.HostConfig.RestartPolicy}}' <容器名/ID># 方法 2:通过 docker ps(显示简要信息)
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.RestartStatus}}"
7. 其他相关命令
- 停止容器:
docker stop <容器名/ID> # 平稳停止 docker kill <容器名/ID> # 强制停止(状态码非 0,可能触发 on-failure)
- 删除容器:
docker rm <容器名/ID> # 需先停止容器 docker rm -f <容器名/ID> # 强制删除(即使正在运行)
总结
通过 --restart
参数,可以灵活控制容器的自动重启行为,确保关键服务的高可用性。根据实际需求选择策略,并注意其限制条件(如后台模式、状态码判断)。更多高级用法(如结合 docker-compose
)可参考知识库中的配置示例。
docker run --restart
选项用于指定容器的重启策略,当容器退出时,Docker 守护进程会根据指定的策略来决定是否重启容器。这在保证容器持续运行、提高应用的可用性方面非常有用。以下是 --restart
支持的几种策略及其详细介绍:
no
- 含义:默认策略,容器退出时,Docker 不会自动重启该容器。
- 示例:
docker run --restart=no nginx
on-failure[:max-retries]
- 含义:仅在容器以非零退出状态码退出时才会自动重启。可以选择性地指定
max-retries
参数,用于限制 Docker 尝试重启容器的最大次数。 - 示例:
# 容器以非零状态码退出时自动重启,最多尝试重启 3 次
docker run --restart=on-failure:3 nginx
always
- 含义:无论容器以何种状态退出(正常退出或异常退出),Docker 都会自动重启该容器。即使 Docker 守护进程重启,之前处于运行状态的容器也会在守护进程启动后自动重启。
- 示例:
docker run --restart=always nginx
unless-stopped
- 含义:与
always
类似,无论容器以何种状态退出都会自动重启。不同之处在于,如果在 Docker 守护进程停止之前,用户手动停止了容器,那么在守护进程重启后,该容器不会自动重启。 - 示例:
docker run --restart=unless-stopped nginx
在实际应用中,你可以根据容器运行的应用特性和需求来选择合适的重启策略。例如,对于一些关键的服务,如数据库、Web 服务器等,可以选择 always
或 unless-stopped
策略,以确保服务的高可用性;对于一些一次性任务的容器,则可以选择 no
策略。
docker run
命令中的 --restart
选项用于指定容器的重启策略,确保容器在退出时能够按照指定的策略自动重启。以下是一些常用的重启策略及其说明:
常用的重启策略
策略 | 说明 |
---|---|
no | 默认值,表示容器退出时,Docker 不自动重启容器。 |
on-failure | 当容器非正常退出时(退出状态码不为 0),Docker 会自动重启容器。 |
on-failure:n | 当容器非正常退出时重启容器,并且最多重启 n 次。 |
always | 无论容器退出状态如何,只要容器退出就自动重启。 |
unless-stopped | 容器退出时自动重启,但不会重启那些 Docker 守护进程启动时已经停止的容器。 |
使用示例
-
总是重启容器
docker run --restart always nginx
这会确保 Nginx 容器在退出后会自动重启。
-
仅在异常退出时重启
docker run --restart on-failure:3 nginx
容器在非正常退出时最多重启 3 次。
-
除非手动停止,否则总是重启
docker run --restart unless-stopped nginx
这种策略在生产环境中非常实用,因为它会自动重启容器,除非是手动停止的。
查看容器重启次数
可以使用以下命令查看容器的重启次数:
docker inspect -f "{{ .RestartCount }}" <container_id_or_name>
查看容器最后一次启动时间
可以使用以下命令查看容器最后一次的启动时间:
docker inspect -f "{{ .State.StartedAt }}" <container_id_or_name>
更新现有容器的重启策略
对于已经创建的容器,可以使用 docker update
命令来修改其重启策略:
docker update --restart unless-stopped <container_id_or_name>
这些策略和命令可以帮助你根据实际需求灵活地管理容器的重启行为,确保容器化应用的高可用性和稳定性。
docker run --restart
参数用于设置容器的重启策略。当容器因为某些原因停止运行时,Docker 可以根据这个策略自动重启容器。以下是 --restart
参数的几种设置方式及其含义:
--restart
参数的设置
-
no(默认值)
- 容器退出时不重启。
-
on-failure
- 当容器非正常退出(即退出状态码非0)时,会根据指定的次数尝试重启。
- 可以与一个可选的重启次数参数一起使用,例如
--restart=on-failure:3
,表示最多重启3次。
-
always
- 无论容器退出状态码是什么,总是尝试重启容器。
- 即使 Docker 服务重启,也会自动重启该容器。
-
unless-stopped
- 类似于
always
,但有一些例外:- 如果容器被手动停止(使用
docker stop
),则不会自动重启。 - 如果 Docker 服务重启,会自动重启该容器。
- 如果容器被手动停止(使用
- 类似于
示例
-
总是重启容器
docker run --restart always --name my-container nginx
-
在失败时重启容器,最多重启3次
docker run --restart on-failure:3 --name my-container my-image
-
除非手动停止,否则总是重启容器
docker run --restart unless-stopped --name my-container my-image
注意事项
- 设置
--restart
参数时,需要考虑业务需求和系统资源,避免因频繁重启导致资源浪费或服务不稳定。 - 在生产环境中,合理配置重启策略可以提高系统的可用性和稳定性。
通过合理使用 --restart
参数,可以确保容器在遇到问题时能够自动恢复,从而提高系统的健壮性。
Docker的docker run --restart
参数用于配置容器的自动重启策略。这个功能在容器意外退出时非常有用,可以帮助保持服务的持续可用性。以下是详细说明:
参数格式
docker run --restart <策略类型> [其他参数] <镜像名>
重启策略类型
-
no
(默认)- 不自动重启容器
- 示例:
docker run --restart no nginx
-
on-failure[:max-retries]
- 当容器以非0状态码退出时自动重启
- 可选的
:max-retries
指定最大重试次数(需Docker 1.11+) - 示例:
docker run --restart on-failure:5 my-app
-
always
- 无条件自动重启(无论退出状态码如何)
- 注意:如果容器被手动停止(
docker stop
),则不会自动重启 - 示例:
docker run --restart always redis
-
unless-stopped
- 类似
always
,但排除手动停止的情况 - 如果容器是手动停止的,即使Docker守护进程重启,容器也不会自动启动
- 示例:
docker run --restart unless-stopped mysql
- 类似
典型应用场景
-
关键服务保活
使用always
或unless-stopped
确保数据库、Web服务器等高优先级服务持续运行。 -
调试任务
对可能崩溃的调试程序使用on-failure
策略,避免无限重启干扰日志分析。 -
定时任务容器
对执行一次性任务的容器保持默认no
策略。
注意事项
-
与Docker守护进程的关系
自动重启策略依赖Docker守护进程(dockerd
)的运行。若守护进程停止,所有重启策略将暂停,直到守护进程恢复。 -
手动停止优先级
使用docker stop
命令停止的容器会忽略always
策略,但unless-stopped
会记住最后一次停止状态。 -
无限重启风险
如果容器因配置错误立即退出,可能触发重启循环。可通过docker inspect
查看退出原因。
补充:在Docker Compose中配置
在docker-compose.yml
中通过restart
字段指定策略:
services:web:image: nginxrestart: unless-stopped
通过合理选择重启策略,可以显著提升容器化服务的健壮性。建议根据实际需求选择最匹配的策略类型。
Docker run --restart
参数详解
一、重启策略类型及适用场景
--restart
参数用于定义容器退出时的自动重启策略,是 Docker 生产环境中管理容器稳定性的重要选项。以下是支持的策略类型及说明:
-
no
• 默认策略,容器退出时 不自动重启。
• 适用场景:临时测试容器或需手动控制的场景。
• 示例:docker run --restart=no nginx
-
on-failure[:max-retries]
• 异常退出时重启:仅在容器以 非0状态码退出 时触发重启(如程序崩溃)。
• 可指定最大重试次数(如on-failure:3
),超过次数则放弃重启。
• 适用场景:需自动恢复关键服务但避免无限重启的故障场景。
• 示例:docker run --restart=on-failure:5 myapp
-
always
• 无条件重启:无论退出状态码如何,容器退出后 总是自动重启(包括手动停止后重启 Docker 守护进程的情况)。
• 注意:若宿主机重启,容器会在 Docker 服务启动后自动重启。
• 适用场景:需长期运行且需高可用的服务(如 Web 服务器)。
• 示例:docker run -d --restart=always mysql
-
unless-stopped
• 智能重启:容器退出时自动重启,但 排除手动停止的情况(若手动停止容器后重启 Docker 守护进程,该容器不会自动启动)。
• 适用场景:需自动恢复服务,但允许手动干预停止的场景。
• 示例:docker run --restart=unless-stopped redis
二、退出状态码与策略关联
Docker 根据容器的 退出状态码 决定是否触发重启策略:
• 0:正常退出,仅 always
和 unless-stopped
会重启。
• 非0:异常退出,触发 on-failure
和 always
/unless-stopped
策略。
• 特殊状态码:
• 125:Docker 守护进程自身错误(如镜像不存在)。
• 126:容器启动命令无法执行。
• 127:启动命令不存在。
三、配置方法与操作示例
-
启动时指定策略
docker run -d --restart=always --name=my_nginx nginx
-
更新已运行容器的策略
若容器未设置--restart
,可通过docker update
修改:docker update --restart=unless-stopped my_nginx
-
查看重启状态
• 查看重启次数:docker inspect -f "{{ .RestartCount }}" my_nginx
• 查看最后一次启动时间:docker inspect -f "{{ .State.StartedAt }}" my_nginx
四、注意事项
- 与
--rm
的冲突:--restart
不能与--rm
(退出后自动删除容器)同时使用。 - 资源限制:频繁重启可能占用过多资源,建议配合
--memory
和--cpus
限制资源。 - 日志监控:长期运行容器需监控日志,避免因无限重启导致日志堆积(可通过
--log-opt
限制日志大小)。
五、典型场景对比
场景 | 推荐策略 | 理由 |
---|---|---|
数据库服务(如 MySQL) | always | 需持续运行,即使宿主机重启也需自动恢复 |
批处理任务 | on-failure:3 | 任务失败时重试,但避免无限循环 |
开发环境临时容器 | no | 手动控制生命周期,避免干扰开发流程 |
需手动干预的后台服务 | unless-stopped | 自动恢复服务,同时允许手动停止 |
通过合理配置 --restart
,可显著提升容器服务的可靠性。建议结合监控工具(如 Prometheus)进一步优化运维流程。
Docker 的 --restart
参数用于设置容器的自动重启策略,控制容器在退出或 Docker 守护进程重启时的行为。以下是详细说明:
可用策略
-
no
(默认)
容器退出时不自动重启,且 Docker 守护进程重启时也不会启动容器。 -
always
容器退出时总是重启,并且 Docker 守护进程重启时也会启动容器。docker run --restart always -d nginx
-
unless-stopped
类似always
,但若容器被手动停止过,则即使 Docker 重启也不会自动启动。docker run --restart unless-stopped -d mysql
-
on-failure
仅当容器退出码非0
(即异常退出)时重启。可指定最大重试次数(可选)。# 退出码非0时最多重启3次 docker run --restart on-failure:3 -d my-app
注意事项
- 策略仅对容器退出或Docker 守护进程重启时生效,不适用于手动停止的容器。
- 若容器通过
--rm
参数运行,--restart
将被忽略。 - 已运行容器可通过
docker update
修改重启策略:docker update --restart=always 容器ID/名称
示例
-
关键服务(如数据库)自动恢复:
docker run --restart unless-stopped -d postgres
-
仅在失败时重启:
docker run --restart on-failure:5 -d my-flaky-service
需要进一步解释或具体场景的应用吗?
docker的run命令 笔记250406
相关文章:
`docker run --restart no,always,on-failure,unless-stopped`笔记250406
docker run --restart no,always,on-failure,unless-stopped 笔记250406 docker run --restart 用于配置容器的自动重启策略,当容器意外退出时,Docker 会根据策略自动重新启动容器。这是确保服务高可用的重要参数。 语法 docker run --restart <策略…...
stl的VS的string的内部实现,引用计数的写实拷贝,编码
本章目标 1.stl的vs的string的内部实现 2.引用计数的写实拷贝 3.编码 1.stl的string的内部实现 我们先来看一个例子 string s1; cout<<sizeof(s1)<<endl;我们知道类的内存管理也是遵循内存对齐的规则的. 我们假设当前机器的环境是32位的.string类的内部有三个成…...
Docker 从入门到进阶 (Win 环境) + Docker 常用命令
目录 引言 一、准备工作 1.1 系统要求 1.2 启用虚拟化 二、安装Docker 2.1 安装WSL 2 2.2 安装Docker Desktop 2.3检查是否安装成功 三、配置Docker 3.1 打开Docker配置中心 四、下载和管理Docker镜像 4.1 拉取镜像 4.2 查看已下载的镜像 4.3 运行容器 4.4 查看正…...
C# Winform 入门(12)之制作简单的倒计时
倒计时效果展示 控件展示 以下均是使用label来形成的 label 的 BorderStyle:Fixed3D ForeColor:Red Blackground:Black label 的属性 Name: txtyear txtmonth txtday txttime txtweek txtDays txtHour txtM…...
基于springboot+vue的漫画天堂网
开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:…...
leetcode每日一题:最大整除子集
题目 368. 最大整除子集 给你一个由 无重复 正整数组成的集合 nums ,请你找出并返回其中最大的整除子集 answer ,子集中每一元素对 (answer[i], answer[j]) 都应当满足: answer[i] % answer[j] 0 ,或 answer[j] % answer[i] …...
【Unity】animator检测某state动画播放完毕方法
博主对动画系统很不熟,可能使用的方法比较曲折,但是我确实没找到更有效的方法了。 unity的这个animator在我看来简直有毛病啊,为什么那么难以获取某状态动画的信息呢??? 想要知道动画播完没有只有用norma…...
玄机-应急响应-webshell查杀
题目要求: 要求获取四个flag webshell查杀: 常见的webshell: PHP: eval(), system(), exec(), shell_exec(), passthru(), assert(), base64_decode() ASP: Execute(), Eval(), CreateObject() JSP: Runtime.getRuntime().exec() websh…...
小菜Go:Ubuntu下Go语言开发环境搭建
前置要求Ubuntu环境搭建 文章推荐 此处推荐一个比较好的文章,基本按部就班就欧克~ 安装虚拟机(VMware)保姆级教程(附安装包)_vmware虚拟机-CSDN博客 安装可能遇到的问题 虚拟机安装遇到的问题如:Exception…...
多功能指示牌是否支持多语言交互?
嘿,朋友们!你们知道吗?叁仟多功能指示牌在多语言交互方面可太厉害了,下面就为大家热情介绍一些常见的实现方式和相关说明哦! 显示多语言文字:哇哦,在众多国际化的超棒场所,像那充满…...
2025ArkTS语言开发入门之前言
2025ArkTS语言开发入门之前言(一) 引言 要想学好一门语言,必先会下载对应的编辑器/集成开发环境,ArkTS也是如此,下面我带着大家去下载并安装ArkTS语言的集成开发环境——Dev Eco Studio。 下载 来到华为开发者联盟…...
Python高级爬虫+安卓逆向1.1-搭建Python开发环境
目录 引言: 1.1.1 为什么要安装Python? 1.1.2 下载Python解释器 1.1.3 安装Python解释器 1.1.4 测试是否安装成功 1.1.5 跟大神学高级爬虫安卓逆向 引言: 大神薯条老师的高级爬虫安卓逆向教程: 这套爬虫教程会系统讲解爬虫的初级&…...
深入理解MySQL:核心特性、优化与实践指南
MySQL是一个开源的关系型数据库管理系统(RDBMS),由瑞典MySQL AB公司开发,目前属于Oracle公司。它是目前世界上最流行的开源数据库之一,广泛应用于各种规模的Web应用和企业系统中。 目录 一、核心特点 关系型数据库: 开源免费&am…...
38常用控件_QWidget的enable属性(2)
实现用另一个按钮切换之前按钮的“可用”状态 在同一个界面中,要求不同的控件的 objectName 也是必须不同的.(不能重复) 后续就可以通过 ui->objectName 方式来获取到对应的控件对象了 ui->pushButton // 得到了第一个按钮对应的对象 ui->pushButton 2 //…...
如何单独指定 Android SDK tools 的 monitor.bat 使用特定 JDK 版本
核心概念与背景介绍 在 Android 开发过程中,Android SDK Tools 提供了许多实用工具,其中 monitor.bat 是 Windows 下用于启动 Android Device Monitor 的批处理文件。Device Monitor 可以帮助我们查看日志、内存、线程等运行信息。 JDK 与 monitor.bat …...
【代码随想录 字符串1】 344.反转字符串
自己的 class Solution {public void reverseString(char[] s) {int mid s.length /2;int j1;for (int i 0; i < mid; i) {char tem s[i];s[i] s[s.length -j];s[s.length -j] tem;j;}s.toString();} }双指针 class Solution {public void reverseString(char[] s) {…...
gogs私服对应SSH 协议配置
一、使用非特权端口(推荐) 1. 修改 Gogs 配置文件 sudo nano /home/git/gogs/custom/conf/app.ini 找到 [server] 部分,修改为: [server] START_SSH_SERVER true SSH_PORT 2222 # 改为1024以上的端口 2. 重启 Gogs sud…...
蓝桥与力扣刷题(74 搜索二维矩阵)
题目:给你一个满足下述两条属性的 m x n 整数矩阵: 每行中的整数从左到右按非严格递增顺序排列。每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target ,如果 target 在矩阵中,返回 true ;否则ÿ…...
多元高斯分布函数
1、 n n n元向量 假设 n n n元随机变量 X X X X [ X 1 , X 2 , ⋯ , X i , ⋯ , X n ] T μ [ μ 1 , μ 2 , ⋯ , μ i , ⋯ , μ n ] T σ [ σ 1 , σ 2 , ⋯ , σ i , ⋯ , σ n ] T X i ∼ N ( μ i , σ i 2 ) \begin{split} X&[X_1,X_2,\cdots,X_i,\cdots ,X_n…...
【PySpark大数据分析概述】02 Spark大数据技术框架
【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈PySpark大数据分析与应用 ⌋ ⌋ ⌋ PySpark作为Apache Spark的Python API,融合Python易用性与Spark分布式计算能力,专为大规模数据处理设计。支持批处理、流计算、机器学习 (MLlib) 和图计算 (GraphX)&am…...
JVM 参数调优指南_优化 Java 应用性能
1. 引言 1.1 什么是 JVM 参数调优 JVM 参数调优是指通过调整 Java 虚拟机的各种参数,以优化 Java 应用程序的性能和稳定性。 1.2 JVM 参数调优的重要性 提高性能:优化内存使用和垃圾回收,提升应用程序的响应速度。稳定性:减少内存溢出和垃圾回收暂停时间,提高系统的稳定…...
闭包和装饰器
什么是闭包 闭包(Closure)是 Python 中一个非常重要的概念,它是一种特殊的函数对象,通常用于封装和延迟计算某些值。以下是闭包的详细定义和解释: 1.闭包的定义 闭包是指一个函数对象,它不仅包含函数的代…...
电脑显示器选购
显示器分类 按尺寸大小 一般显示器屏幕有24寸、27寸、32寸等 按技术分类 LCD显示器 使用液晶分子作为主要材料,以液晶为显示/控制模块制造而成的显示设备。液晶显示器中的液晶体在工作时不发光,而是控制外部的光通过量。当外部光线通过液晶分子时&a…...
论伺服电机在轨道式巡检机器人中的优势及应用实践
一、引言 1.1 研究背景与意义 在现代工业生产、电力系统、轨道交通等诸多领域,保障设施设备的安全稳定运行至关重要。轨道式巡检机器人作为一种高效、智能的巡检工具,正逐渐在这些领域崭露头角。它能够沿着预设轨道,对目标区域进行全方位…...
室内指路机器人是否支持与第三方软件对接?
嘿,你知道吗?叁仟室内指路机器人可有个超厉害的技能,那就是能和第三方软件 “手牵手” 哦,接下来就带你一探究竟! 从技术魔法角度看哈:好多室内指路机器人都像拥有超能力的小魔法师,采用开放式…...
Docker 命令大全:从入门到精通
一、容器生命周期管理 1. 容器操作基础 # 运行容器 docker run -d --name my_nginx -p 8080:80 nginx:latest# 启动/停止容器 docker start my_nginx docker stop my_nginx# 重启容器 docker restart my_nginx# 删除容器 docker rm my_nginx 2. 容器状态管理 # 查看运行中的…...
【HarmonyOS Next之旅】DevEco Studio使用指南(十一)
目录 1 -> 代码实时检查 2 -> 代码快速修复 3 -> C快速修复使用演示 3.1 -> 填充switch语句 3.2 -> 使用auto替换类型 3.3 -> 用?:三元操作符替换if-else 3.4 -> 从使用处生成构造函数 3.5 -> 将变量拆分为声明和赋值 1…...
【中间件】使用ElasticSearch提供的RestClientAPI操作ES
一、简介 ElasticSearch提供了RestClient来操作ES,包括对数据的增删改查,可参照官方文档:Java High Level REST Client 二、使用步骤: 可参照官方文档操作 导包 <dependency><groupId>org.elasticsearch.client<…...
数字电子技术基础(三十九)——显示译码器
目录 1 显示译码器 1.1 显示译码器简介 1.2 七段显示译码器和八段显示译码器 1.3 BCD-七段显示译码器 1.4 多位显示译码器 1 显示译码器 1.1 显示译码器简介 显示译码器是一种数字电路,是将二进制转换为驱动显示设备所需要的信号,核心是将编码数据…...
Java学习总结-多线程-三种创建方法
什么是线程? 线程(Thread)是程序内部的一条执行流程。 程序如果只有一条执行流程,那这个程序就是单线程程序。 什么是多线程? 多线程是指从软硬件上实现的多条执行流程的技术(多条线程由CPU负责调度执行…...
sqli-labs靶场 less 7
文章目录 sqli-labs靶场less 7 mysql文件上传拿web shell sqli-labs靶场 每道题都从以下模板讲解,并且每个步骤都有图片,清晰明了,便于复盘。 sql注入的基本步骤 注入点注入类型 字符型:判断闭合方式 (‘、"、…...
大模型最新面试题系列:模型部署(二)
一、如何通过unsloth的批处理(Batching)功能提升推理效率? Unsloth的批处理(Batching)功能通过整合硬件加速、内存优化和动态调度技术,显著提升大模型推理效率。以下是具体实现方法和实际应用场景的深度解…...
Python助力去中心化云计算:构建分布式计算的未来
Python助力去中心化云计算:构建分布式计算的未来 随着区块链技术和Web 3.0生态的兴起,去中心化云计算正逐步成为主流。它不仅颠覆了传统集中式云计算的架构,还为数据安全、隐私保护以及资源分配带来了新的可能性。在这一领域,Python因其简洁易用、社区庞大以及强大的工具链…...
HCIP【路由过滤技术(详解)】
目录 1 简介 2 路由过滤方法 3 路由过滤工具 3.1 静默接口 3.2 ACL 3.3 地址前缀列表 3.4 filter-policy 3.4.1 filter-policy过滤接收路由(以RIP为例) 3.4.2 filter-policy过滤接收路由(以OSPF为例) 1 简介 路由过滤技术…...
LeetCode Hot100 刷题笔记(3)—— 链表
目录 前言 1. 相交链表 2. 反转链表 3. 回文链表 4. 环形链表 5. 环形链表 II 6. 合并两个有序链表 7. 两数相加 8. 删除链表的倒数第 N 个结点 9. 两两交换链表中的节点 10. K 个一组翻转链表 11. 随机链表的复制 12. 排序链表 13. 合并 K 个升序链表 14. LRU 缓存 前言 一、…...
商品计费打折实现效果
1.创建php站点 2.创建php文件 3.执行php文件打开浏览器地址栏输入http://localhost/dophp/price.php页面如图所示: 4.表单输入,创建php文件price_form.php 运行效果为...
游戏引擎学习第207天
回顾并为今天的内容定下基调 我们正在继续上一次的任务,目的是构建一个基本的元编程系统,用来自动处理结构体信息,减少手动维护的代码量。具体来说,我们写了一个简单的预处理器,它可以解析代码中的结构体定义…...
Linux内核页表缓存(TLB)与巨型页
一、页表缓存(TLB) 处理器厂商在内存管理单元 (MMU) 里增加一个 TLB (Translation Lookaside Buffer) 的高速缓存,TLB 直译为转译后备缓冲器,也被翻译为页表缓存。 TLB 为 CPU 的一种缓存,由存储器管理单元用于…...
Web3(阶段一:入门)——默克尔树
什么是默克尔树 默克尔树(Merkle Tree),又称哈希树,是一种基于哈希算法的数据结构,用于高效验证数据完整性。其核心思想是将数据分块并逐层哈希,最终生成唯一的根哈希值。 核心特点: 结构分层…...
Qt Quick 与 Qt 版本匹配关系
一、核心版本对应关系 Qt 版本Qt Quick 版本重要特性Qt 5.0Qt Quick 2.0首次引入基于Scene Graph的架构Qt 5.12Qt Quick 2.12长期支持版(LTS),新增粒子系统增强Qt 5.15Qt Quick 2.15最后5.x LTS,改进3D集成Qt 6.0Qt Quick 6.0完全重写渲染架构,支持VulkanQt 6.2Qt Quick 6.2…...
DefaultListableBeanFactory
文章目录 DefaultListableBeanFactory介绍继承关系源码码解析属性成员getbean方法setAutowireCandidateResolver方法resolveDependency方法doResolveDependency方法findAutowireCandidates 方法determineAutowireCandidate 方法 DefaultListableBeanFactory介绍 BeanFactory是…...
软件工程面试题(三十二)
1、java程序每天12点打印”hello” public static void main(String[] args) {Date date = new Date(); System.out.println(date.getHours()); while (true) {while (date.getHours() == 12) {if (date.getMinutes() == 0) {if (date.getSeconds() == 0) {System.out.print…...
高频面试题(含笔试高频算法整理)基本总结回顾66
干货分享,感谢您的阅读! (暂存篇---后续会删除,完整版和持续更新见高频面试题基本总结回顾(含笔试高频算法整理)) 备注:引用请标注出处,同时存在的问题请在相关博客留言…...
生成式人工智能(AIGC):内容创作的新引擎与新挑战
在数字化时代,内容创作的需求呈爆炸式增长。无论是社交媒体、新闻媒体、广告营销还是娱乐行业,都急需大量高质量的文本、图像、音频和视频内容。然而,传统的内容创作方式面临着效率低下、成本高昂、创意枯竭等问题。生成式人工智能࿰…...
Java 大视界 -- 基于 Java 的大数据分布式计算在气象数据处理与天气预报中的应用进展(176)
💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…...
react和vue在开发使用的语法上面有什么区别?
React和Vue在开发使用的语法上有诸多区别,下面从组件定义、数据绑定、事件处理、生命周期钩子等方面详细阐述: 1. 组件定义 React: 函数组件是React推荐的组件定义方式,它本质上是一个JavaScript函数,返回JSX元素。类…...
ReFormX:现代化的 React 表单解决方案 - 深度解析与最佳实践
ReFormX文档 表单开发一直是前端工作中最繁琐却又最常见的任务之一。从简单的登录表单到复杂的多步骤配置页面,开发者往往需要编写大量重复代码,处理繁琐的状态管理、数据验证和联动逻辑。ReFormX 应运而生,它不仅是一个表单组件库ÿ…...
STM32单片机入门学习——第19节: [6-7]TIM编码器接口
写这个文章是用来学习的,记录一下我的学习过程。希望我能一直坚持下去,我只是一个小白,只是想好好学习,我知道这会很难,但我还是想去做! 本文写于:2025.04.06 STM32开发板学习——第19节: [6-7]TIM编码器接口 前言开发板说明引用解答和科普一…...
Spring 中的 bean 生命周期
🌱 一、什么是 Bean 生命周期? 在 Spring 容器中,一个 Bean 从“创建 → 初始化 → 使用 → 销毁”,经历了完整的生命周期。 Spring 提供了 多个扩展点 让你可以在这些阶段做事情,比如注入资源、日志记录、连接资源、清…...
Kafka 在 k8s 中的消费者实例
每个 Pod(在 K8s 中运行的消费者实例)都会作为一个独立的消费者加入到 Kafka 消费者组中。 如果只是将消费者代码在 K8s 中复制多个实例(例如通过增加副本数),每个实例都会作为一个独立的消费者加入到 Kafka 消费者组…...