今天把盒子系统装到外置硬盘启动,结果用内置的docker安装脚本安装报错失败,根据错误提示修复很头大,也没有成功。
首先一定要先执行更新:
sudo apt-get update
sudo apt-get upgrade因为是外置硬盘,不确定是不是缺少驱动导致的,保险起见还是加上:
修改 /etc/docker/daemon.json
vi /etc/docker/daemon.json
# 添加如下内容
{
# 此配置与本次启动不起来docker服务无关
"registry-mirrors": ["自己的加速地址"],
# 此次docker服务启动不起来的解决办法是添加如下两个配置解决的问题,添加存储驱动
"storage-driver": "overlay2",
"storage-opts": [
"overlay2.override_kernel_check=true"
]
}
# 重新启动docker服务
systemctl start docker
然后彻底删除上次安装的残留后,再次运行安装脚本。
再然后配置使用明文代理,配合局域网其他代理服务使用:
全局系统代理(针对 APT、CURL 及普通终端命令)
将代理配置写入全局环境变量。
sudo nano /etc/profile.d/proxy.sh复制并粘贴以下内容:
export proxy="http://自己的代理ip:7890"
export http_proxy=$proxy
export https_proxy=$proxy
export ftp_proxy=$proxy
export rsync_proxy=$proxy
# 排除不需要代理的本地地址
export no_proxy="localhost,127.0.0.1,::1,localaddress,.localdomain.com"
# 将变量转换为大写以兼容部分老旧软件
export HTTP_PROXY=$http_proxy
export HTTPS_PROXY=$https_proxy
export FTP_PROXY=$ftp_proxy
export RSYNC_PROXY=$rsync_proxy
export NO_PROXY=$no_proxy
保存退出并使配置立即生效:
source /etc/profileDocker 守护进程代理(解决 Docker Pull 缓慢/失败)
Docker 容器的镜像拉取(docker pull)是由 Docker 守护进程(Daemon)处理的,无法直接读取系统终端的全局代理,必须为其单独配置 systemd 服务代理。
执行以下一键脚本配置:
# 创建 Docker 服务的配置目录
sudo mkdir -p /etc/systemd/system/docker.service.d创建http-proxy.conf并写入配置:
[Service]
Environment="HTTP_PROXY=http://10.0.0.10:7890"
Environment="HTTPS_PROXY=http://10.0.0.10:7890"
Environment="NO_PROXY=localhost,127.0.0.1,somecorporation.com"重载 systemd 配置并重启 Docker。
sudo systemctl daemon-reload
sudo systemctl restart docker如果报错!!!
-bash: $'\r': command not found直接在 Ubuntu 终端运行以下命令,将文件中的 \r 字符全部替换为空白(将 your_script.sh 替换为你报错的脚本文件名,例如 /etc/profile.d/proxy.sh):
sed -i 's/\r$//' your_script.sh再次重载 systemd 配置并重启 Docker,解决。