2016-11-25 7 views
1

私はドッカーコンテナをホストするubuntuマシンを持っています。 とドッカーコンテナで私は ドッカーホストの/ etc /パスワードでユーザーのパスワードを検証する必要があるWebサービスを実行しています。dockerコンテナにsshをインストール

私の見解は、ドッカーのコンテナからドッカーのホストにsshです。 だから私はドッカーのコンテナでコマンドsshを実行すると、そのsshが見つかりませんでした。 したがって、基本的にsshはコンテナにインストールされていません。 sshをコンテナにインストールするにはどうすればいいですか? このシナリオを達成する方法はありますか。

答えて

1

まあ、画像ファイルの一部として、あなたは、単にのopenssh-サーバーをインストールする必要があります:

sudo apt-get install openssh-server 

問題は、伝統的に、実行中のドッキングウィンドウコンテナは、単一のコマンドを実行するということです。あなたはsupervisordのようなものを使ってこの問題を回避することができます。例では、ドッキングウィンドウのドキュメントにあります:https://docs.docker.com/engine/admin/using_supervisord/

あなたdockerfileは次のようになります。

[supervisord] 
nodaemon=true 

[program:sshd] 
command=/usr/sbin/sshd -D 

[program:apache2] 
command=/bin/bash -c "source /etc/apache2/envvars && exec /usr/sbin/apache2 -DFOREGROUND" 

FROM ubuntu:16.04 
MAINTAINER [email protected] 

RUN apt-get update && apt-get install -y openssh-server apache2 supervisor 
RUN mkdir -p /var/lock/apache2 /var/run/apache2 /var/run/sshd /var/log/supervisor 

COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf 

EXPOSE 22 80 
CMD ["/usr/bin/supervisord"] 

をごsupervisord.confはこのようになります。

関連する問題