我希望使用 Amazon Elastic Container Service (Amazon ECS) 集群在私有网络中将 HTTP 代理用于 Amazon Elastic Compute Cloud (Amazon EC2) Linux 实例。我该如何操作?

对于 Docker,使用必要的环境变量创建 http-proxy.conf 文件,然后重新启动 Docker 守护程序。对于 Amazon ECS 容器代理,停止代理,然后使用其他参数重新启动代理。

为 Docker 设置 HTTP 代理

1.    使用 SSH 连接到 Amazon EC2 实例,然后运行 systemd 或 init 命令:

Systemd:

mkdir /etc/systemd/system/docker.service.d
cat <<EOF > /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=http://PROXY_SERVER_IP:3128/"
Environment="HTTPS_PROXY=http://PROXY_SERVER_IP:3128/"
Environment="NO_PROXY=169.254.169.254,/var/run/docker.sock"
EOF

注意:PROXY_SERVER_IP 占位符替换为代理服务器的 IP 地址。

Init:

cat <<EOF > /etc/sysconfig/docker
[Service]
Environment="HTTP_PROXY=http://PROXY_SERVER_IP:3128/"
Environment="HTTPS_PROXY=http://PROXY_SERVER_IP:3128/"
Environment="NO_PROXY=169.254.169.254,/var/run/docker.sock"
EOF

2.    要重新启动 Docker,请运行 systemd 或 init 命令:

Systemd:

systemctl restart docker

Init:

service docker restart

3.    要验证 Docker 的 HTTP 代理设置,请运行以下命令:

docker info| grep -i proxy

注意:命令输出显示 HTTP 代理和 HTTPS 代理。

为 Amazon ECS 容器代理设置 HTTP 代理

1.    要启动 Amazon ECS 容器代理,请运行以下命令:  

docker run --name ecs-agent \
--env=ECS_ENABLE_TASK_IAM_ROLE_NETWORK_HOST=true \
--env=ECS_ENABLE_TASK_IAM_ROLE=true \
--env "NO_PROXY=169.254.169.254,169.254.170.2,/var/run/docker.sock" \
--env "https_proxy=http://PROXY_SERVER_IP:PORT" \
--env "http_proxy=http://PROXY_SERVER_IP:PORT" \
--env=ECS_DATADIR=/data \
--env=ECS_LOGLEVEL=info \
--env=ECS_LOGFILE=/log/ecs-agent.log \
--env=ECS_CLUSTER=CLUSTER_NAME \
--net=host \
--volume=/var/lib/ecs/data:/data \
--volume=/var/log/ecs/:/log \
--volume=/var/run/docker.sock:/var/run/docker.sock \
--restart=on-failure:10 \
--detach=true \
amazon/amazon-ecs-agent:latest

注意:CLUSTER_NAME 占位符和 PROXY_SERVER_IP:PORT 占位符分别替换为要使用的名称和端口。

2.    要验证 Docker 和 Amazon ECS 容器代理的 HTTP 代理设置,请运行以下命令:

docker inspect ecs-agent | grep –i proxy

HTTP 代理和 HTTPS 代理显示在命令输出中。

注意:Docker 和 Amazon ECS 容器代理的配置仅影响单个实例。要更新集群中的所有实例,请创建启动配置,然后使用 Auto Scaling 组来启动新实例。


此页内容对您是否有帮助? |

返回 AWS Support 知识中心

需要帮助? 请访问 AWS 支持中心

发布时间:2017 年 3 月 22 日

更新时间:2019 年 1 月 10 日