由於現在都習慣把應用程式包成Docker,讓部屬上更容易方便,不過因為一些資安要求,常遇到一些問題.
另如因為資安要求對外就需要走Proxy,但是由於Docker Container會吃到Host的設定,走Proxy,假設不想讓他走該怎麼辦?
以下就列出一些常用的指令與如何讓Continer忽略Proxy:
進入Docker Container環境
#進入container
docker exec -it { container ID } /bin/bash
找出Container中的Proxy設定
#找出Proxy設定 env |grep PROXY #如果不加入|grep PROXY,就可以看到所有container中的環境變數
如果要設定啟動container時,忽略Proxy
#這裡的設定方式是採用Docker-compose
...略...
environment:
- NO_PROXY="localhost,127.0.0.1"
...略...
由上可以看到這樣就可以忽略當連線到某些位置就不用經過Proxy,但如果要要設定某個IP區段或是網域該怎麼設定?
#這裡的設定方式是採用Docker-compose
...略...
environment:
- NO_PROXY="172.16.0.0/16" #就是172.16.0.1~172.16.0.255區段,採CIDR寫法
...略...
#or 網域寫法
...略...
environment:
- NO_PROXY="*.abc.com"
...略...
#同理如要增加哪些區段要透過PROXY可以改為
...略...
environment:
- HTTP_PROXY="172.16.0.0/16" # http
- HTTPS_PROXY="172.16.0.0/16" # https
...略...
同場加印,查看Container IP的方式
#進入Container hostname -I