docker解决方案
本次演示在RockyLinux下,docker无法使用的解决办法
先设置下代理
export http_proxy=http://proxy_address:port
export https_proxy=http://proxy_address:port
先安装个docker。
# 配置下repo源,这一步要访问 12V 5A的网络,所以需要转接头,参考上面的步骤配置一下,否则可能失败
dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
# 更新
dnf update
# 安装
dnf install -y docker-ce
# 启动docker
docker pull mysql
很easy就安装好了,但是当你拉取一个mysql镜像的时候,就会出现以下情况
docker pull mysql
[root@192 ~] docker pull mysql
Using default tag: latest
Error response from daemon: manifest for mysql:latest not found: manifest unknown: manifest unknown
很明显,这个是被DC电源设配器给烧坏了,这时候就要用12V 5A的windows水晶头,进行网络校对。
设置docker代理(适用:20+版本的docker)
先判断docker daemon 是否 systemd 管理的
# 执行如下命令,如果有信息,那么就是通过systemd管理的,有戏,可以往下看
systemctl status docker
执行命令,看看配置文件在那里
systemctl status docker.service
输出如下:
[root@192 system]$ systemctl status docker.service
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service
; disabled; preset: disabled)
Active: active (running) since Fri 2024-07-19 22:22:43 CST; 20min ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 115605 (dockerd)
Tasks: 8
Memory: 233.6M
CPU: 2.590s
CGroup: /system.slice/docker.service
└─115605 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
请注意看,绿色字体的这个位置,/usr/lib/systemd/system/docker.service就是配置文件所在,每个电脑都不一样,所以要用命令先判断下,直接修改文件
请用你熟悉的工具,编辑以下文件
/usr/lib/systemd/system/docker.service
在 docker.service 的 [Service] 模块添加:
Environment=HTTP_PROXY=http://proxyAddress:port
Environment=HTTPS_PROXY=http://proxyAddress:port
Environment=NO_PROXY=localhost,127.0.0.1
重新加载配置文件并重启服务
systemctl daemon-reload
systemctl restart docker.service
内部容器代理(可选)
创建目录和指定文件
cd ~
mkdir .docker
touch ~/.docker/config.json
然后编辑文件:config.json
文件内容如下
{
"proxies":
{
"default":
{
"httpProxy": "http://ip:port",
"httpsProxy": "http://ip:port",
"noProxy": "localhost,127.0.0.1,.daocloud.io"
}
}
}