03 08 2024

安装:

curl -sL https://raw.githubusercontent.com/slimtoolkit/slim/master/scripts/install-slim.sh | sudo -E bash -

打包现有docker镜像:(fikker是正在运行的镜像名称)

docker  commit  -m  'fikker原版镜像'  -a  'admin'  fikker  bt

进行镜像压缩:(如果镜像已经存在,可以忽略上面的打包过程,比如centos:centos7或者centos:centos7.9.2009)

slim build --target bt --tag fikker --http-probe=false

等运行完,执行docker images,可以看到原始镜像bt容积774M,压缩后的fikker镜像7.98M,压缩后的镜像不管是迁移或者重建,都非常方便,可以使用docker  save  -o  /root/fikker.tar  fikker 进行打包,在新的机器里面,执行docker  load  <  /root/fikker.tar 就可以加载镜像,执行docker run -itd --restart=always --name fikker  -p 80:80 -p 443:443 -p 1988:1988 --privileged=true fikker就可以运行镜像了,速度也非常快!


PS:slim似乎对应冷门程序需要添加打包路径,包括程序执行的依赖库,对于fikker需要这样打包:

slim build --target bt --tag fikker --http-probe=false --include-path=/fikker/ --include-path=/usr/lib64/

由于不清楚fikker具体依赖lib64下哪个文件,整体打包还是比较大,体积达到124MB,原始镜像约498MB,运行压缩后的镜像:

docker run -itd --restart=always --name fikker  -p 80:80 -p 443:443 -p 1988:1988 --privileged=true fikker && docker exec fikker /bin/bash -c 'cd /fikker && ./fikkerd.sh start'


补充一个本地镜像发送到远程php接收保存的代码,远程php:

<?php

$target_dir = "files/";

$filename = basename($_FILES["file"]["name"]);

$allowed_types = ['tar'];

$file_extension = strtolower(pathinfo($filename, PATHINFO_EXTENSION));

if (!in_array($file_extension, $allowed_types)) {

    die("不允许的文件类型。");

}

if (move_uploaded_file($_FILES["file"]["tmp_name"], $target_dir . $filename)) {

    echo "文件上传成功。";

} else {

    die("上传失败。");

}

?>

本地curl代码:curl -X POST -F "file=@/root/fikker.tar" http://远程链接/dockersave.php

  1. 上一篇:记录一台centos7服务器安装wddns和fikkerd的过程
  2. 下一篇:一个免费域名提供商,支持绑定到cloudflare
发表评论