2015-09-28 124 views
2

我一直在閱讀Docker文檔,如果可能創建自定義命令/指令,似乎無法解決問題。基本上我需要向外部服務發出一個HTTP請求來檢索一些需要包含在我的容器中的資源。而不是使用卷引用它們,我想在構建過程中將它們有效地注入容器,有點像依賴注入。Dockerfile自定義命令/指令

+0

,如果你打算從Dockerfile從HTTP URL下載的文件,你可以試試這個。 「RUN wget http://www.urlABC.com/abc.gz」 – spectre007

+0

這讓我有些擔心,但是我需要運行HTTP GET和POST的組合,包括身份驗證。理想情況下,我想創建一個處理所有必需邏輯的擴展,並將其稱爲自定義命令 – user1513388

+1

您可以編寫shell腳本並將所有邏輯放入其中並從Dockerfile中調用它 – spectre007

回答

4

假設您指的是使用http(HTTP GET)作爲示例在問題中下載某些文件。你可以試試這個。

RUN wget https://wordpress.org/plugins/about/readme.txt 

RUN curl https://wordpress.org/plugins/about/readme.txt 

與下載的shell腳本

PROJ-DIR 
    - files 
     - test.sh 
    - Dockerfile 

文件/ test.sh的例子Dockerfile

#!/bin/sh 

wget https://wordpress.org/plugins/about/readme.txt 

Dockerfile

FROM centos:latest 

COPY files/test.sh /opt/ 
RUN chmod u+x /opt/test.sh 

RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY* 
RUN yes | yum install wget 

RUN /opt/test.sh 
RUN rm /opt/test.sh 

構建圖像

docker build -t test_img .