Centos7 -- 用三种方法设置代理服务器上网

参考文章: 

centos7上代理设置

03-用三种方法设置CentOS7使用代理服务器上网

一、永久设置

修改 /etc/profile 文件,添加下面内容::

http_proxy=http://username:password@yourproxy:8080/
ftp_proxy=http://username:password@yourproxy:8080/

export http_proxy
export ftp_proxy

如果没有密码限制,则以上内容可以修改为以下内容:

http_proxy=http://yourproxy:8080/
ftp_proxy=http://yourproxy:8080/

export http_proxy
export ftp_proxy

若只针对某个用户而言,则修改 ~/.bash_profile 文件,添加相同内容;

然后使用source /etc/profile使设置立即生效。

二、临时设置(重连后失效)

在命令行中直接输入下列命令即可

export http_proxy=http://username:password@yourproxy:8080/
export ftp_proxy=http://username:password@yourproxy:8080/
#or
export http_proxy=http://yourproxy:8080/
export ftp_proxy=http://yourproxy:8080/

注意:设置之后可能使用ping时还是无法连接外网,但是pip时可以的,因为ping的协议不一样不能使用这个代理。

三、单次设置(建议使用)

直接在pip时设置代理

pip3 install –proxy http://代理地址:代理端口号 软件名称

注意:proxy有两个“-”号

四、yum代理设置

用vi编辑器打开yum配置文件,一般情况下: vi /etc/yum.conf

打开yum的配置文件之后,在文件最后加上代理服务器的协议、地址、端口,如果代理服务器需要用户认证话,同时加上认证用户的用户名和密码。

代理服务器不需要认证:加上 proxy=协议://代理服务器地址:端口 (如:proxy=http://192.168.1.1:80)

代理服务器需要认证用户:加上 proxy=协议://代理服务器地址:端口 (如:proxy=http://192.168.1.1:80)

proxy_username=代理服务器用户名
proxy_password=代理服务器密码

保存退出后,就可以使用yum轻松的安装软件了。

五、git代理设置

git config --global https.proxy https://proxyuser:proxypassword@ip/域名:port

git config --global http.proxy http://proxyuser:proxypassword@ip/域名:port

示例:

假设某人在百度工作,公司代理服务器是(proxy.baidu.com),端口是(8080),代理配置如下

1、代理服务器需要鉴权配置

git config --global https.proxy https://username:password@proxy.baidu.com:8080

2、代理服务器不需要鉴权配置
git config --global https.proxy https://proxy.baidu.com:8080

六、代理配置中的一些特殊字符

如果密码中有@等特殊字符,会出错,比如

git config --global http.proxy http://username:abc@123@proxy.baidu.com:8080

解析时会从第一个@解析,提示@123@proxyhk.huawei.com找不到,此时要对其中的特殊符号进行处理,使用百分比编码(Percent-encoding)对特殊字符进行转换,转换。
列表如下:

! --> %21    # --> %23    $ --> %24    & --> %26    ' --> %27

( --> %28    ) --> %29    * --> %2A    + --> %2B    , --> %2C

/ --> %2F    : --> %3A    ; --> %3B    = --> %3D    ? --> %3F

@ --> %40    [ --> %5B    ] --> %5D

例如:br/>代理账户:admin
代理密码:abc@123
@为特殊字符
代理服务器:
http://172.31.101.102:8080
进行全局代理的时候,需要按照如下配置

http://admin:abc%40123@172.31.101.120:8080

 

<think>嗯,用户遇到了运行`sudo systemctl restart docker`时出现的错误,提示服务启动太频繁,建议使用`systemctl reset-failed`和再次启动。我需要先理解这个问题的根本原因,然后一步步引导用户解决。 首先,systemd有机制防止服务短时间内频繁重启,可能为了避免资源耗尽或者循环失败的情况。当用户多次尝试重启docker失败后,systemd会记录失败次数,超过阈值就会阻止进一步启动,导致这个错误。 接下来,用户需要解决这个问题。系统提示的两个命令是关键:`systemctl status docker.service`和`journalctl -xe`,用于查看详细状态和日志。我应该告诉用户如何分析这些日志,找出docker启动失败的具体原因,比如配置错误、端口冲突、依赖问题等。 然后,解决步骤应该是先重置失败状态,再尝试启动。用户可能直接运行给出的命令,但最好先检查日志,确保没有其他问题。否则,即使重置了,问题依旧存在,启动还是会失败。 另外,可能需要考虑常见问题,比如Docker的配置文件是否正确,磁盘空间是否足够,权限问题,或者是否安装了正确版本的Docker。这些可以作为补充建议,帮助用户全面排查。 需要确保回答结构清晰,分步骤说明,同时提醒用户检查日志的重要性,而不仅仅是执行重置命令。可能用户是新手,不太会查看日志,需要给出具体的命令和如何解读日志的提示。 最后,如果重置后还是无法启动,应该引导用户根据日志内容进一步处理,或者寻求更多帮助。确保回答既解决当前问题,又提供后续排查的方向,避免用户陷入死循环。</think>你遇到的 `sudo systemctl restart docker` 报错是 systemd 服务管理机制的保护性限制。以下是逐步分析和解决方案: **问题本质** systemd 默认会限制服务在短时间内频繁重启(防止崩溃循环)。当连续失败超过阈值(默认10秒内启动5次失败),会触发此保护机制。 **解决步骤** 1. **查看服务状态**(定位根本原因) ```bash sudo systemctl status docker.service -l ``` 重点关注输出中的: - `Active:` 行(服务状态) - `Main PID:` 行(进程崩溃信息) - 底部日志片段(关键错误提示) 2. **查看详细日志** ```bash sudo journalctl -u docker.service --since "10 minutes ago" ``` 筛选关键词:`error`、`fail`、`denied`、`port already in use` 等 3. **重置失败计数器** ```bash sudo systemctl reset-failed docker.service ``` 此命令会清除 systemd 记录的失败状态,解除启动限制 4. **重新启动服务** ```bash sudo systemctl start docker.service ``` **常见根本原因排查** 若重置后仍启动失败,需结合日志检查: 1. **配置文件错误** - 检查 `/etc/docker/daemon.json` 格式:`sudo json_verify < /etc/docker/daemon.json` - 注释配置后测试:`sudo mv /etc/docker/daemon.json /etc/docker/daemon.json.bak` 2. **端口冲突** - 查看 docker 默认端口占用:`sudo ss -tulnp | grep -E '2375|2376'` - 临时关闭冲突服务或修改 docker 配置 3. **存储驱动问题** - 检查存储驱动兼容性:`docker info | grep Storage` - 尝试切换驱动:在 `/etc/docker/daemon.json` 添加 `"storage-driver": "vfs"` 4. **磁盘空间不足** - 清理磁盘:`sudo docker system prune -a --volumes` - 检查 `/var/lib/docker` 占用:`du -sh /var/lib/docker` **高级调试** 若问题仍未解决,可强制清理并重启: ```bash sudo systemctl stop docker sudo rm -f /var/lib/docker/network/files/local-kv.db sudo systemctl start docker ``` 建议在操作前备份重要数据。若问题持续,请提供 `systemctl status` 和 `journalctl` 的完整输出以便进一步分析。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值