2014-01-07 4 views
5

Dockerコンテナに自分のサイト展開スクリプトをパッケージ化してみました。私のサービスはすべてコンテナ内にあり、特別な管理コンテナを使用して他のコンテナを管理するという考えがあります。Dockerをコンテナ内部から制御することは可能でしょうか?

私のホストマシンは絶対に可能な限り愚かでなければならないという考えがあります(現在、私は管理コンテナを開始するsystemdの設定である唯一の状態でCoreOSを使用しています)。

管理コンテナは、送信するソースコードに基づいて新しいコンテナを作成するためのプッシュターゲットとして使用されます(SSHを使用して、少なくともこれは私が今使っているものです)。このスクリプトはまた、永続的なデータ(データベースファイル、ログなど)を別のコンテナに管理し、バックアップを管理しているため、データに触れずにすべてを解体して再構築できます。これを達成するために、管理コンテナの起動時に、-vオプションを使用してDocker Unixソケットを転送します。

これは良いか悪い考えですか?これを行うことで問題に遭遇することはできますか?私はそれが落胆しているところを読まなかったが、これをやっている他の人たちの例もたくさん見つけなかった。

+0

はい、https://stackoverflow.com/a/33183227/1421254いくつかの手順と考慮事項についての回答を参照してください – Dmitriusan

+0

はい、これはしばらく前に尋ねられました。今日、これを行う人気のあるサービスがたくさんあります。 – Krumelur

答えて

6

これは完全にOKです、そしてあなたがそれを使用する別の例を:-)

を行うだけではないですがドッカーREST APIの認証をhandeする管理コンテナを使用することです。 -pで公開されたEXPOSEのTCPポート上の接続と、UNIXソケットへのプロキシ要求を受け入れます。

+0

これはあまり良くありません.Dockerコマンドを実行するには誰でもサーバーを開いたままにしておくからです。正当な理由のためにソックファイルがあります - セキュリティ –

+0

いいえ、あなたのサーバを開けません。 *コンテナ*(およびその中のすべて)にアクセスできます。それは違う。私の答えの2番目の部分を参照している場合:私はAPIを公開することを提案するのではなく、管理コンテナを開くことを提案しています。この管理コンテナは、REST APIをフィルタリングします。 – jpetazzo

関連する問題