2014-11-04 86 views
0

我正在構建基於ubuntu14.04的映像,嘗試啓用容器上的ssh。我正在學習以下教程:https://docs.docker.com/examples/running_ssh_service/使用我自己的密鑰Dockerizing SSH守護進程服務

但是,本教程僅顯示如何使用密碼ssh,我想使用自己的密鑰ssh進入容器而不是密碼。所以我可以做的vagrantfile這樣的事情(碼頭工人作爲一個供應商,並使用ansible置備):

config.ssh.username = "root" 
    config.ssh.private_key_path = "~/.ssh/my_key" 

回答

0

我有這個問題也。

不幸的是我沒有一個簡單的答案,但使用標準ShutIt庫這樣的:

https://github.com/ianmiell/shutit/blob/master/library/ssh_key/ssh_key.py

其拷貝SSH密鑰的主機,因爲它的建築。

它也沒有出現在圖像歷史中,所以你不需要將圖像弄平;您可以使用ssh_key模塊的finalize掛鉤在構建結束時將其刪除(默認,但可配置)。

允許我根據需要將其與其他模塊結合使用。例如,它依賴於由ansible模塊,例如:

https://github.com/ianmiell/shutit/blob/master/library/ansible/ansible.py#L64

和庫/ puppet.py和庫/ Hadoop的/ hadoop.py:

如果您需要與它接觸的幫助我直接。

+0

我只使用Dockerfile和Vagrantfile,也是爲了正確的。沒有涉及到python。 Dockerfile需要哪些更改? – 2014-11-04 17:51:05

0

是否有你需要SSH的原因?

注意的非常顯著的原因不這樣做: http://blog.docker.com/2014/06/why-you-dont-need-to-run-sshd-in-docker/

您也可以作爲泊塢窗V1.3的只是注入新的流程運行到容器.. 例如如果你可以ssh到主機上,然後 搬運工EXEC -IT myContainer中/斌/慶典

將終端連接到正在運行的容器......

但你可以看看一個我做了前面.. 。https://registry.hub.docker.com/u/afolarin/ubuntu_ssh/

+0

我正在使用ansible進行供應,這需要ssh到容器。 – 2014-11-07 20:50:17