雲端計算_Dockerfile與代理
阿新 • • 發佈:2022-05-13
本地環境
console中執行
使用代理執行:
export http_proxy=http://127.0.0.1:80
export https_proxy=http://127.0.0.1:80
取消代理執行:
export -n http_proxy
export -n https_proxy
(針對當前視窗生效)
01.Dockerfile檔案中使用本地代理(訪問宿主機)
ENV http_proxy http://127.0.0.1:3001 ENV https_proxy https://127.0.0.1:3001 gpg: keyserver receive failed: Connection timed out The command '/bin/sh -c apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys654' returned a non-zero code: 2 gpg和apt-key 代理的情況 gpg和apt-key使不會直接讀取終端中設定的代理,需要單獨設定 gpg --keyserver-options http-proxy=test.com:8080/" --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys SOMEKEY apt-key adv --keyserver-options http-proxy=test.com:8080/" --keyserver hkp://keyserver.ubuntu.com --recv-keys AKEYXXX Git設定代理 # 使用代理 && git config --global http.proxy "http://127.0.0.1:80" \ && git config --global https.proxy "http://127.0.0.1:80" \ # 下載 git clone https://github.com/gperftools/gperftools.git -b gperftools --single-branch \ # 取消代理 && git config --global --unset http.proxy \ && git config --global --unset https.proxy \
02.Docker-run
啟動容器時,通過設定–env的flag,將環境變數傳入容器
–env HTTP_PROXY="http://127.0.0.1:3001"
–env HTTPS_PROXY="https://127.0.0.1:3001"
Dockerfile的命令
不同點: 功能不同,執行的時間點不同,作用的有效範圍不同, docker中arg和env的區別是: arg是在build的時候存在的,可以在Dockerfile中當做變數來使用,臨時使用一下的變數沒必要存環境變數的值就很適合使用 ARG 而env是容器構建好之後的環境變數,不能在Dockerfile中當引數使用 entrypoint.sh 要具有可執行許可權 01.相同檔案--執行不了--看是否許可權不一樣 02.下載檔案--下載不了--看本地是否有許可權 03.檔案下載到Windows 下,再上傳到unix ,非壓縮檔案會出現 :set ff :sef ff=unix
參考
Debian/Ubuntu 對gpg和apt-key使用代理--報錯解決:gpg: keyserver receive failed: Connection timed out https://blog.csdn.net/zhangpeterx/article/details/94870949