synchronization
This commit is contained in:
83
Docker/Docs/Docker配置代理.md
Normal file
83
Docker/Docs/Docker配置代理.md
Normal file
@@ -0,0 +1,83 @@
|
||||
> 本文作者:丁辉
|
||||
|
||||
# Docker配置代理
|
||||
|
||||
## Docker服务代理配置
|
||||
|
||||
> 此方法适用于 `docker pull` 镜像配置代理
|
||||
|
||||
创建 Systemd 代理文件
|
||||
|
||||
```bash
|
||||
mkdir -p /etc/systemd/system/docker.service.d
|
||||
touch /etc/systemd/system/docker.service.d/proxy.conf
|
||||
```
|
||||
|
||||
内容如下
|
||||
|
||||
```bash
|
||||
[Service]
|
||||
Environment="HTTP_PROXY=http://127.0.0.1:15777"
|
||||
Environment="HTTPS_PROXY=http://127.0.0.1:15777"
|
||||
Environment="NO_PROXY=localhost,127.0.0.1,example.com"
|
||||
```
|
||||
|
||||
- `HTTP_PROXY=`:设置HTTP代理服务器
|
||||
- `HTTPS_PROXY=`:设置HTTPS代理服务器
|
||||
- `NO_PROXY=""`:设置不使用代理服务器的域名或IP地址列表
|
||||
|
||||
> 将 `http://127.0.0.1:15777` 换成可用的代理即可
|
||||
|
||||
重启生效
|
||||
|
||||
```bash
|
||||
systemctl daemon-reload
|
||||
systemctl restart docker
|
||||
```
|
||||
|
||||
## 容器内部代理
|
||||
|
||||
> 在容器运行阶段,如果需要代理上网,则需要配置 `~/.docker/config.json`。
|
||||
|
||||
创建 Config.json 代理文件
|
||||
|
||||
```bash
|
||||
mkdir ~/.docker/
|
||||
vi ~/.docker/config.json
|
||||
```
|
||||
|
||||
内容如下
|
||||
|
||||
```json
|
||||
{
|
||||
"proxies":
|
||||
{
|
||||
"default":
|
||||
{
|
||||
"httpProxy": "http://192.168.1.100:15777",
|
||||
"httpsProxy": "http://192.168.1.100:15777",
|
||||
"noProxy": "localhost,127.0.0.1,example.com"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
> 此外, 也可以直接在容器运行时通过注入 `http_proxy` 等环境变量进行代理
|
||||
|
||||
重启生效
|
||||
|
||||
```bash
|
||||
systemctl daemon-reload
|
||||
systemctl restart docker
|
||||
```
|
||||
|
||||
## DockerBuild代理
|
||||
|
||||
```bash
|
||||
docker build . \
|
||||
--build-arg "HTTP_PROXY=http://192.168.1.100:15777" \
|
||||
--build-arg "HTTPS_PROXY=http://192.168.1.100:15777" \
|
||||
--build-arg "NO_PROXY=localhost,127.0.0.1,example.com" \
|
||||
-t your/image:tag
|
||||
```
|
||||
|
Reference in New Issue
Block a user