Hi,聆听·彼岸



听说,你是我最遥不可及的梦。
What should I do?
What should I do?
I think I'm going to fall in love with myself.

docker部署可道云

发表于 2023-09-09| 分类于 linux | | 评论数

发现直接有kodcloud/kodbox,也就不需要我写Dockerfile了

docker run -d --name kod -p 80:80 -v /root/kod:/var/www/html kodcloud/kodbox

run完在/root/kod目录下放上kod备份的解压文件即可恢复数据。

发现了个docker换源的问题,首先正确的配置文件是/etc/docker/daemon.json而不是/etc/docker/daemon.conf
然后发现换的源都是无法访问的。。。去阿里云搞了个镜像加速才换源成功。。。

换源是成功了,但结果依旧不尽人意,索性挂代理
首先clash开启允许局域网,linux终端

vim ~/.zshrc # 这是kali,其他自己改, ip可以在clash看
export http_proxy='http://clash_ip:7890'
export https_proxy='http://clash_ip:7890'
export ALL_PROXY='http://clash_ip:7890'
source ~/.zshrc

此时发现网络不通,win+R运行resmon.exe查看网络->端口发现防火墙不允许,修改防火墙
在控制面板->允许应用通过Windows defender防火墙进行通信,给clash开个专用网络。
这里说下专用网络和公用网络的区别,专用网络允许应用暴露在互联网上,也就是说别人有可能通过扫描端口扫到你的应用。
因为需要代理的应用在不同网段,所以要暴露出来才能代理。

然后我还发现clash在不开允许局域网的情况下用的是回环地址,用的62031和7890端口。resmon.exe是个好东西。

挂完代理速度嘎嘎快,然后如果速度不快的话,一是代理问题,二是刚才配置的镜像问题,
镜像问题

mv /etc/docker/daemon.json /etc/docker/daemon.json.bak
systemctl restart docker
docker info

然后结束了还要关闭代理,感觉有点麻烦,索性做成脚本
proxy.sh

export http_proxy='http://clash_ip:7890'
export https_proxy='http://clash_ip:7890'
export ALL_PROXY='http://clash_ip:7890'

然后,然后就有点蚌埠住了,看了半天docker没走代理。。。算了算了,不搞了。。绝绝子。

就在刚刚,一个事故发生了,我一个命令把所有容器都删了。。。
接下来的话打算根据命令恢复这些容器,写一个docker清理脚本,自动略过有用的容器,再自己构建一个kodbox镜像,然后,现在快晚上12点钟了,good job

先放点音乐醒醒脑

经过一堆抢救,一堆镜像拉取,和一阵等待,结果顺便把kodbox也拉下来了。就很奇怪,要多个同时拉取才有速度,可能是错觉吧。。。
装完打开,却突然不知道干嘛了。。。


配置一下kod,然后把我所有的kod内容集中再备份。good。为什么这么麻烦?君不见,压缩整个kod花了13g,单单压缩我的东西花了8.7g,不知道问题出在哪里。。。

清理脚本

#!/bin/bash

# 定义要保留的容器ID的数组
declare -a retain_containers=("f8a56340f88a" "12d1b26b31c3" "9cbc3133cff4" "f0a8c04f785b" "d6e2f51be0a8" "9ef9e894c7c7")

# 定义要保留的镜像的数组
declare -a retain_images=("sha256:5e8d4559f59d" "sha256")

echo info: delete containers
echo
echo

# 停止并删除除了指定容器以外的所有正在运行的容器
for container_id in $(docker ps -aq); do
if [[ " ${retain_containers[@]} " =~ " ${container_id} " ]]; then
echo "detected: ${container_id} is retained"

else
echo "info: delete ${container_id}"
docker stop $container_id
docker rm $container_id
fi
done

echo
echo
echo info: delete images
echo
echo

# 获取保留容器对应的镜像ID
declare -a retain_image_ids
for container_id in "${retain_containers[@]}"; do
image_id=$(docker inspect --format='{{.Image}}' "$container_id")
if [[ -n "$image_id" ]]; then
retain_image_ids+=("$image_id")
fi
done

declare -a retain_image_ids=("${retain_image_ids[@]}" "${retain_images[@]}")

# 删除images
for image_id in $(docker images -aq); do
is_true=1
for retain_image_id in "${retain_image_ids[@]}"; do
if [ "${retain_image_id:0:19}" == "sha256:${image_id}" ]; then
echo "detected: ${image_id} is retained"
is_true=0
break
fi
done

if [ $is_true -eq 1 ]; then
echo "Deleted: sha256:${image_id}"
docker rmi $image_id
fi

done

docker network prune --force
docker volume prune --force

通宵了。。。


第二天
md,8个多g有8个g是某种视频…


满分是10分的话,这篇文章你给几分,您的支持将鼓励我继续创作!