由於現在都習慣把應用程式包成Docker,讓部屬上更容易方便,不過因為一些資安要求,常遇到一些問題.
另如因為資安要求對外就需要走Proxy,但是由於Docker Container會吃到Host的設定,走Proxy,假設不想讓他走該怎麼辦?
以下就列出一些常用的指令與如何讓Continer忽略Proxy:
進入Docker Container環境
1 2 |
#進入container docker exec -it { container ID } /bin/bash |
找出Container中的Proxy設定
1 2 |
#找出Proxy設定 env |grep PROXY #如果不加入|grep PROXY,就可以看到所有container中的環境變數 |
如果要設定啟動container時,忽略Proxy
1 2 3 4 5 6 |
#這裡的設定方式是採用Docker-compose ...略... environment: - NO_PROXY="localhost,127.0.0.1" ...略... |
由上可以看到這樣就可以忽略當連線到某些位置就不用經過Proxy,但如果要要設定某個IP區段或是網域該怎麼設定?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#這裡的設定方式是採用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的方式
1 2 |
#進入Container hostname -I |