如何在docker-compose构建期间获取凭据

时间:2019-05-17 13:43:59

标签: powershell docker docker-compose

我正在尝试从网络服务器下载一些文件,为此我需要一些凭据。我可以在powershell中运行脚本了:

param( 
[String]$sourcefile="",
[String]$destinationfile=""
)

$ftpcred = (Get-Credential)
$ftpUser = $ftpcred.UserName
$ftpPass = $ftpcred.Password

function download
{
    param ([string]$source, [string]$destination)
    $WebClient = New-Object System.Net.WebClient
    $webclient.Credentials = new-object System.Net.NetworkCredential($ftpUser, $ftpPass)
    $WebClient.DownloadFile("$source","$destination")
}

download $sourcefile $destinationfile

但是一旦我在docker-compose build期间从dockerfile运行脚本,它就会暂停。我认为这意味着Get-Credential正在容器内运行。我读过您不能在设计构建期间在主机端运行脚本。

所以没有人知道我如何获取凭据而不将其存储在存储库中。

1 个答案:

答案 0 :(得分:0)

我最终通过运行脚本进行了预编译并复制了下载到容器中的文件,从而解决了这个问题。