参考前文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
阿里云镜像配置
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)
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"
//
# 文件 /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
修改
/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 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/*
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 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
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 # 删除连接
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