WSL2下Debian中的Docker折腾青龙面板

参考前文Win11环境下折腾WSL2中的Debian11启用systemd 步骤

参考Debian 安装国内源 Docker 及其他常用软件2.4节,安装完Docker

sudo apt update && sudo apt upgrade -y
# 卸载旧版
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
# 删除所有映像、容器和卷
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
# 运行以下命令以卸载所有冲突的软件包
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
# 安装
sudo apt-get install ca-certificates curl gnupg -y
sudo install -m 0755 -d /etc/apt/keyrings
# 添加GPG密钥
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# 添加Docker源
echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.ustc.edu.cn/docker-ce/linux/debian \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 更新+安装
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
# 查看状态
systemctl status docker

阿里云镜像配置

阿里镜像加速1.png

阿里镜像加速2.png

Docker搭建青龙面板

额外参考

docker run -dit -v $PWD/ql/config:/ql/config -v $PWD/ql/log:/ql/log -v $PWD/ql/db:/ql/db -v $PWD/ql/data:/ql/data -p 5700:5700 --name qinglong --hostname qinglong --restart always whyour/qinglong:latest

docker-compose up -d 步骤报错:

ERROR: Couldn’t connect to Docker daemon at http+docker://localunixsocket - is it running?... 参考

sudo gpasswd -a ${USER} docker

报错:Command 'docker-compose' not found 参考

sudo apt install docker-compose

拉去镜像超时报错:ERROR: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

方法1:

sudo mkdir -p /etc/systemd/system/docker.service.d
touch /etc/systemd/system/docker.service.d/http-proxy.conf
sudo nano /etc/systemd/system/docker.service.d/http-proxy.conf
#查看主机ip
ip route show | grep -i default | awk '{ print $3}'

# 文件内容
[Service]
Environment="HTTP_PROXY=http://172.20.176.1:9002"
Environment="HTTPS_PROXY=socks5://172.20.176.1:9001"
Environment="NO_PROXY=cxwc2g9l.mirror.aliyuncs.com,127.0.0.1, 172.20.176.0"

方法2:

// 
# 文件 /etc/resolv.conf 修改 nameserver
nameserver 223.5.5.5
nameserver 8.8.8.8

# 文件 /etc/docker/daemon.json 内容如下:
{
  "registry-mirrors": [
      "https://cxwc7g0l.mirror.aliyuncs.com",
      "https://docker.m.daocloud.io/",
      "https://huecker.io/",
      "https://dockerhub.timeweb.cloud",
      "https://noohub.ru/",
      "https://dockerproxy.com",
      "https://docker.nju.edu.cn",
      "https://registry.docker-cn.com",
      "https://reg-mirror.qiniu.com",
      "http://hub-mirror.c.163.com",
      "https://docker.mirrors.ustc.edu.cn"
  ]
}

重启服务

sudo systemctl daemon-reload
sudo systemctl restart docker

OpenWrt方法

修改/etc/init.d/dockerd中的start_service小节

    procd_open_instance
    # set proxy
    procd_set_param env HTTP_PROXY=http://192.168.100.98:9001
    procd_set_param env HTTPS_PROXY=http://192.168.100.98:9001

配置完重启docker: /etc/init.d/dockerd restart

青龙面板

青龙面板拉取脚本报错Out of memory, malloc failed参考

docker exec -it qinglong bash # 切换ql命令模式
git config --global --unset http.postbuffer

npm配置阿里镜像库

参考:npm彻底清理缓存

# 查看当前使用的镜像地址命令
npm config get registry
# 设置阿里镜像源
npm config set registry http://registry.npmmirror.com
# npm装依赖
npm install package-name
# npm清缓存
npm cache clear --force
npm cache verify

pip镜像源

清理 Pip 缓存

pip config set global.index-url https://mirrors.aliyun.com/pypi/simple
pip config set install.trusted-host mirrors.aliyun.com
# 查看缓存
pip cache info
# 清除所有缓存
pip cache purge

# apk安装并删除缓存
apk add --no-cache git curl && rm -rf /var/cache/apk/*

青龙面板拉库失败——out of memory错误

fatal: Out of memory, malloc failed (tried to allocate 524288000 bytes)

fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

解决办法:

docker exec -it qinglong bash
git config --global --unset http.postbuffer

Docker镜像优化

命令行安装依赖,参考

docker exec -it qinglong bash # 切换ql命令模式
curl -fsSL https://gitee.com/sobweb/FillScore/releases/download/3.0/qinglong-yilaiku.sh | sh

Docker备份和迁移

另外参考
docker 镜像/容器 分层合并/精简/重构 文件系统

// 迁移1 = 容器-·镜像-·文件-·导入
# 容器存为镜像
docker commit mynginx mynginx_i
# 镜像存为文件
docker save -o mynginx.tar mynginx_i
# 镜像文件导入
docker load -i mynginx.tar

// 迁移2 = export + import 会缺失command
# 记下command
docker ps -a --no-trunc
# 导出容器为文件
docker export $dk_tmp -o $dk_tmp.tar
# 导入文件为镜像
docker import $dk_tmp.tar $img_name

补充

安装nodejs

curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs

命令行连wifi 简单参考

sudo nano /etc/NetworkManager/NetworkManager.conf
managed=false修改成managed=true
需重启后生效

sudo nmcli dev wifi connect "SSID" password "PASSWORD" ifname wlan0

$ nmcli con # 查看连接过的

$ nmcli device wifi connect "SSID"

$ nmcli con delete SSID # 删除连接

查看cpu信息

sudo apt-get install cpufrequtils
cpufreq-info
watch -n 0 "cpufreq-info -w -m"

openwrt docker pull 拉取镜像时使用 http 代理
修改 /etc/init.d/dockerd 使用 procd_set_param env 设置环境变量:

# set proxy
    procd_set_param env HTTP_PROXY=http://192.168.0.103:9002
    procd_set_param env HTTPS_PROXY=http://192.168.0.103:9002

END

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容