250805-Docker Images离线打包
docker images如何离线打包
脚本示例
1 | # 导出 |
在有网络的机器上,可以使用以下步骤将 Docker 镜像离线打包:
打包镜像
使用
docker save
命令:将指定的 Docker 镜像保存为一个.tar
格式的归档文件。例如,要将名为nginx
的镜像打包,可以运行以下命令:1
docker save nginx > nginx.tar
指定输出路径:也可以使用
-o
参数指定输出文件的路径。例如:1
docker save -o /path/to/nginx.tar nginx
传输打包后的文件
- 将生成的
.tar
文件复制到离线机器上。可以使用 USB 驱动器、SCP、SFTP 等方式。
在离线机器上加载镜像
使用
docker load
命令:加载.tar
格式的镜像文件。例如:1
docker load -i nginx.tar
或者:
1 | docker load < nginx.tar |
- 确认镜像加载成功:运行
docker images
命令,查看加载的镜像是否出现在列表中。
打包多个镜像
如果需要将多个镜像打包到一个文件中,可以将多个镜像名称作为参数传递给 docker save
命令。例如:
1 | docker save image1 image2 > images.tar |
250801-Maven-T-1C多线程编译参数配置
⚠️ 注意事项:
- 若项目模块间依赖复杂,Maven 会自动限制并行度;
- 若内存较小,建议不要设置过高(如
-T 2C
或-T 4C
),避免 OOM; - 日志可能会乱,建议加
-B
(batch 模式)或--log-file
输出到文件
✅ 可选配置参考:
参数 | 含义 | 4核CPU下的线程数 |
---|---|---|
-T 1C |
每核 1 个线程 | 4 |
-T 2C |
每核 2 个线程 | 8 |
-T 0.5C |
每两核 1 个线程 | 2 |
-T 4 |
固定使用 4 个线程 | 4 |
如无特殊需求,**-T 1C
** 是推荐起点,平衡性能与稳定性。
优化建议
在多核 CPU 环境下,Maven 的 -T
参数用于控制并行构建线程数,合理设置可以显著提升构建效率。以下是基于最新资料(截至 2025
年)的优化建议:
✅ 推荐设置原则
CPU核心数 | 推荐参数示例 | 说明 |
---|---|---|
4核 | -T 1C 或 -T 1.5C |
使用 4~6 线程,避免过度占用系统资源 |
8核 | -T 1.5C 或 -T 2C |
使用 12~16 线程,适合中大型项目 |
超线程支持 | -T 1.5C |
如4核8线程,1.5C = 12线程,性能提升明显 |
✅ 实战命令示例
1 | # 推荐:按核心数1.5倍并行构建(平衡性能与稳定性) |
⚠️ 注意事项
模块依赖复杂时慎用高并发:Maven 会自动跳过有依赖冲突的模块,线程过多反而降低效率。
内存限制:并行构建会显著增加内存占用,建议同步设置:
1
export MAVEN_OPTS="-Xmx2g -Xms1g"
CI/CD环境建议实测:不同机器、不同项目结构下,最优线程数可能不同,建议用
time mvn -T X clean package
实测对比。
✅ 最佳实践总结
场景 | 推荐参数 | 说明 |
---|---|---|
本地开发 | -T 1C 或 -T 1.5C |
稳定优先,避免影响IDE响应 |
CI/CD流水线 | -T 1.5C 或 -T 2C |
构建时间短,资源可控 |
多模块大项目 | -T 1.5C + 增量构建 |
结合 -pl 局部构建更佳 |
如无特殊需求,**-T 1.5C
** 是当前多核 CPU 下 Maven 构建的推荐起点,兼顾速度与稳定性
2508-(转载)项目管理流程图
https://www.sohu.com/a/747270060_121119370
https://zhuanlan.zhihu.com/p/1914602995661907658
01
项目管理工作流程图
这张图就对项目管理的全流程做了详细的解析。
从图中可以看到一个完整的项目流程全貌,以及在不同流程需要项目经理重点关注的内容。
02
集成项目工作流程图
03
敏捷迭代项目流程图
04
IT项目验收流程图
05
互联网产品
项目管理流程图
06
项目立项流程图
07
项目提案流程图
08
项目实施流程图
09
技术部开发流程图
10
软件开发流程图
11
项目交付流程图
12
P2流程图
许多人对项目管理的整个流程缺乏清晰的了解,只知道有启动、规划、执行、监控和收尾这五个大的过程组。然而,这五个过程组之间存在着密切的关系,并且相互影响。
1、项目管理工作流程图
**
**
2、项目管理全流程图
3、产品开发全流程
4、项目整体流程图
5、IT项目管理流程图
6、软件项目研发流程图
7、产品研发工作流程图
8、产品研发流程图
*
*
9、 集成项目工作流程图
**
10、 敏捷迭代项目流程图
**
11、 项目验收流程图
*
*
12、 互联网项目管理流程图
**
13、 项目立项流程图
**
14、 项目提案流程图
**
15、 项目实施全景流程图
**
16、技术部开发流程图
**
17、软件开发流程图
**
18、 硬件开发流程图
250728-笔记神器Markdown之完美实现图床(Typora+PicGo+Github)
下载并安装PicGo
GithubPicGo项目地址:https://github.com/Molunerfinn/PicGo
下载地址:PicGo (比较慢)
镜像下载地址:https://github.com/Molunerfinn/picgo/releases(比较快)
配置Typora
在Typora的偏好设置中设置:
250728-ubuntu20.04安装chrome 后,提示密钥 通过ssh访问 如何解决
Ubuntu 20.04 Chrome 密钥提示 SSH 访问 解决方法
你在 Ubuntu 20.04 通过 SSH 远程登录后运行 Chrome,仍然弹出“解锁登录密钥环”提示,是因为:
SSH 默认不会解锁 GNOME Keyring(密钥环),而 Chrome 启动时又依赖它保存密码、Cookie 等数据,因此会反复提示输入密码。
✅ 解决方法(适用于 SSH 远程会话)
✅ 方法 1:修改 Chrome 启动参数,跳过密钥环
强制 Chrome 使用“基础密码存储”,不再依赖 GNOME Keyring:
1 | google-chrome-stable --password-store=basic |
永久生效(对所有用户):
1 | sudo sed -i 's|^Exec=/usr/bin/google-chrome-stable|Exec=/usr/bin/google-chrome-stable --password-store=basic|' /usr/share/applications/google-chrome.desktop |
✅ 方法 2:手动解锁密钥环(一次性)
如果你必须使用密钥环(如保存密码),在 SSH 会话中手动解锁:
1 | export DISPLAY=:0 |
注意:此方法需要你在本地已登录图形界面,且 SSH 用户与桌面用户一致。
✅ 方法 3:使用 dbus-launch
启动 Chrome(兼容性好)
在 SSH 中启动 Chrome 时加上 dbus-launch
,可自动连接会话:
1 | dbus-launch google-chrome-stable |
⚠️ 不推荐的做法
- 禁用密钥环或删除
~/.local/share/keyrings
会导致密码丢失; - 取消自动登录对 SSH 无帮助。
✅ 一句话总结
SSH 远程登录后运行 Chrome 提示密钥 → 使用
--password-store=basic
参数跳过密钥环即可。
250728-docker-run一次性运行的 Docker 容器命令-docker运行Images-运行后销毁
一次性运行的 Docker 容器命令sudo docker run --rm openjdk:21 cat /etc/os-release
1 | sudo docker run --rm openjdk:21 cat /etc/os-release |
✅ 命令拆解
1 | sudo docker run --rm openjdk:21 cat /etc/os-release |
部分 | 作用 |
---|---|
sudo |
以管理员权限运行(避免权限不足) |
docker run |
启动一个新的容器 |
--rm |
容器运行完后自动删除(不保留临时容器) |
openjdk:21 |
使用官方的 OpenJDK 21 镜像作为基础环境 |
cat /etc/os-release |
容器启动后执行的命令:打印操作系统版本信息 |
🎯 它做了什么?
- 拉取(或复用)
openjdk:21
镜像(基于某个 Linux 发行版,通常是 Debian 或 Ubuntu)。 - 启动一个临时容器。
- 在容器里执行
cat /etc/os-release
,输出该镜像内操作系统的版本信息(比如是 Ubuntu 22.04 还是 Debian 12)。 - 输出完后,容器自动销毁,不会残留任何痕迹。