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

做恒指网站西安百度

做恒指网站,西安百度,接加工订单的网站,长春网络公司合作最近突发奇想&#xff0c;想把本机的bash放到docker镜像里面&#xff0c;接下来看操作。 获取bash以及依赖 [rootbogon ~]# cat get_lib_info.sh #!/bin/bash# 函数&#xff1a;显示帮助信息 show_help() {echo "Usage: $(basename "$0") -h -f <file>…

最近突发奇想,想把本机的bash放到docker镜像里面,接下来看操作。

获取bash以及依赖

[root@bogon ~]# cat get_lib_info.sh 
#!/bin/bash# 函数:显示帮助信息
show_help() {echo "Usage: $(basename "$0") -h -f <file> -b <output_directory>"echo "  -h          Display this help message"echo "  -f <file>   Specify the binary file to query"echo "  -b <output_directory>  Specify the output directory for the compressed file"
}# 函数:使用 ldd 和 awk 提取库文件路径
extract_library_paths() {local binary_path="$1"local paths=()# 运行 ldd 命令,过滤并提取库文件路径while IFS= read -r line; doif [[ "$line" =~ ^/ ]]; thenpaths+=("$line")fidone < <(ldd "$binary_path" | awk '/=>/ {if ($3 ~ /^\//) print $3}')while IFS= read -r line; doif [[ "$line" =~ ^/ ]]; thenpaths+=("$line")fidone < <(ldd "$binary_path" | awk '{print $1}' | grep '^/')# 返回路径数组echo "${paths[@]}"
}# 函数:解析符号链接路径
resolve_symlinks() {local path="$1"# 处理可能存在的符号链接链while [[ -L "$path" ]]; dotarget=$(readlink "$path")if [[ "${target:0:1}" != "/" ]]; thentarget=$(dirname "$path")/"$target"fipath="$target"done# 输出最终的真实路径echo "$path"
}# 主函数:处理二进制文件并生成解析后的路径
process_binary() {local binary=""local output_directory="$(dirname "$0")"# 如果没有提供任何参数,则显示帮助信息if [ "$#" -eq 0 ]; thenshow_helpexit 0fi# 解析命令行参数while getopts "hf:b:" opt; docase "$opt" inh)  # 显示帮助信息show_helpexit 0;;f)  # 指定要查询的文件binary="$OPTARG"if [ ! -f "$binary" ]; thenecho "Error: File '$binary' does not exist." >&2exit 1fi;;b)  # 指定输出的目录output_directory="${OPTARG}";;*)  # 处理未知选项echo "Invalid option: -$OPTARG" >&2show_helpexit 1;;esacdone# 检查是否提供了二进制文件路径if [ -z "$binary" ]; thenecho "Error: You must specify a binary file with the -f option." >&2show_helpexit 1fi# 提取库文件路径library_paths=($(extract_library_paths "$binary"))# 解析符号链接路径resolved_paths=()for path in "${library_paths[@]}"; doresolved_path=$(resolve_symlinks "$path")resolved_paths+=("$resolved_path")donefor path in "${library_paths[@]}"; doresolved_paths+=("$path")done# 打印解析后的路径# for path in "${resolved_paths[@]}"; do#     echo "$path"# done# 创建解析后路径的 tar 压缩包local binary_name=$(basename "$binary")tar_filename="${output_directory}/${binary_name##*/}.tar.gz"tar zcvf "$tar_filename" "${resolved_paths[@]}"echo "已创建压缩包:$tar_filename"
}# 主程序开始
process_binary "$@"[root@bogon ~]# chmod +x get_lib_info.sh 
[root@bogon ~]# ./get_lib_info.sh -f /bin/bash
tar: Removing leading `/' from member names
/lib64/libtinfo.so.5.9
/lib64/libdl-2.17.so
/lib64/libc-2.17.so
/lib64/ld-2.17.so
/lib64/libtinfo.so.5
/lib64/libdl.so.2
/lib64/libc.so.6
/lib64/ld-linux-x86-64.so.2
已创建压缩包:./bash.tar.gz[root@bogon ~]# cp /bin/bash ./

编写Dockerfile

[root@bogon ~]# cat Dockerfile 
FROM scratchADD bash.tar.gz /
COPY bash /bin/bashCMD ["/bin/bash"][root@bogon ~]# docker build -t mybash .
[+] Building 0.1s (6/6) FINISHED                                     docker:default=> [internal] load build definition from Dockerfile                           0.0s=> => transferring dockerfile: 108B                                           0.0s=> [internal] load .dockerignore                                              0.0s=> => transferring context: 2B                                                0.0s=> [internal] load build context                                              0.0s=> => transferring context: 1.02MB                                            0.0s=> [1/2] ADD bash.tar.gz /                                                    0.0s=> [2/2] COPY bash /bin/bash                                                  0.0s=> exporting to image                                                         0.0s=> => exporting layers                                                        0.0s=> => writing image sha256:86b7d3cc6ffbed8e9c7a921af3d6d671d4692cda8e4fa3924  0.0s=> => naming to docker.io/library/mybash                                      0.0s[root@bogon ~]# docker run -it --rm mybash
bash-4.2# exit
exit
[root@bogon ~]#

http://www.tj-hxxt.cn/news/66497.html

相关文章:

  • 哪里制作网站好不用流量的地图导航软件
  • 湛江市建设局优化设计七年级上册语文答案
  • 网站建设过程中什么最重要长沙seo外包优化
  • 大型网站建设历史搜索关键词优化
  • 做标签刷单平台网站希爱力双效片骗局
  • 国外网站app友情链接平台赚钱吗
  • 怎么用sharepoint做网站发布
  • 购物系统顺序图sem与seo
  • 大型网站只做要多少钱最近新闻报道
  • 服务关系型网站怎么做邀请注册推广赚钱
  • 网站基础维护池州网络推广
  • 系统门窗品牌排行前十名合作seo公司
  • 做网站教程第一课青岛网站排名公司
  • 2017常用的网站市场调研的五个步骤
  • 专业武汉网站建设公司排名seo什么职位
  • 西数网站管理助手 伪静态网站模板免费下载
  • 建设个人网站赚钱的经历站长工具在线平台
  • 用淘宝评论做网站腾讯会议付费
  • ai可以做网站吗网络营销的方式和方法
  • 鸡泽企业做网站推广整合营销传播策略
  • 政府网站建设的论文软件开发需要多少资金
  • 网站备案一个主体白度
  • 泳衣服饰东莞网站建设南昌seo推广公司
  • 江苏建设行政主管部门网站seo怎么优化
  • 网站点击百度seo如何优化关键词
  • 摄影作品网站风景河北seo推广方案
  • 库尔勒谁在做电商网站建设win7优化大师
  • 宁夏做网站互动营销的概念
  • 如何做教育类网站什么是关键词举例说明
  • 做电商网站搭建就业岗位网络营销岗位职责和任职要求