2017-10-09 80 views
0

我需要存儲我的一個碼頭工人,compose.yml sftpServer的server_key_rsa,但我不知道如何保存它如何在docker-compose.yml中存儲server_key_rsa?

它看起來像現在:

-----BEGIN RSA PRIVATE KEY----- 
***********************My Key bla bla bla....... 
********************************************** 
********************************************** 
********************************************** 
********************************************** 
-----END RSA PRIVATE KEY----- 

而且我想像這樣存儲:

server_key_rsa =這裏應該是關鍵。

我試着用「|」在我的密鑰前面,我試圖將密鑰文件更改爲Base64,我試着在線之間「\ n」,我嘗試過「\ nrsa \ nkey」,但這些解決方案失敗了。

回答

0

從文件格式3.3開始,secrets definition in the docker-compose.yml file不支持在docker-compose.yml文件本身內部傳遞祕密的內容。祕密需要是外部的(預定義爲docker secret create secret_name -)或者來自單獨文件的內容。

與外部定義的祕密的語法是:

secrets: 
    my_first_secret: 
    file: ./secret_data 
    my_second_secret: 
    external: true 

而且包含你的祕密一個單獨的文件的語法是:

secrets: 
    my_first_secret: 
    file: ./secret_data 
    my_second_secret: 
    external: 
     name: redis_secret 
+0

我不知道這個故事的工具。它意味着我在我的項目中必須同時包含ssh-keygen文件,並將其包含到我的docker-compose.yml中。什麼是安全性能優勢?我的意思是,我可以簡單地調用包含我的密鑰的server_key_rsa文件,而不是調用一個包含我的server_key_rsa文件鏈接的env變量。 – Cupkek05

+0

我懷疑它是這樣做的,因爲祕密不應該以未加密的狀態存儲在一個已經簽入您的版本控制的文件中。祕密的典型用例是在外部創建它們。您可以隨時在github中打開一個問題,要求將祕密數據存儲在未加密的yml文件中。 – BMitch

+0

嗯好吧,我做了一些研究,很多人已經在github上開了這個問題。無所謂,無論如何感謝您的幫助:) – Cupkek05