2016-07-03 4 views
1

私はちょうどDockerを使いこなし始めました.Dockerfileがwi-fiやBluetoothをオフにするなどのシステム設定とやりとりすることが可能かどうか疑問に思っていましたか?私が今までに知っていることによると、dockerfilesはどこで実行しても同じことをする必要があります。どうすればこのようなものを別のOSで一般化できますか?この場合、if文は必要ありませんか?たとえば、Linux上でwi-fiをオフにするterminalコマンドはWindows上では異なるかもしれないので、どのOSドッカーが動作しているかを確認する必要があります。また、このdockerfileを実行しているマシンがブルートゥースを持っているかどうかも確認する必要があります。ドッカーファイルがシステム設定と対話できますか?

+0

この質問は、ドッカーについてのものではありません。 Dockerは、アプリケーションをデプロイする手段です。これを達成するためのスクリプトを作成する方法を考えてから、ドッカーのコンテナにまとめてください。 – stacksonstacks

+0

@stacksonstacksなぜ私はそれをコンテナにまとめますか? – ninesalt

+0

Dockerfilesはコンテナ環境を構築するためのものです。コマンドはビルド時に実行されます。ホストのBluetooth設定を変更するためのdockerfileを作成したとします。ホストの設定が変更された可能性があります。したがって、実行時にコンテナ内でこの変更を行う必要があります。 – stacksonstacks

答えて

1

dockerfileコマンドは、ドッカーコンテナ内のOSに基づいて指定します。あなたがcentosベースを持っているとすると、yumを使ってインストールします。あなたがapt-getになるdebianベースを使用している場合。

+0

私はコンテナがホストコンピュータの設定と対話したいと思ったら、どういうことを理解していますか?たとえば、WindowsコンピュータでUbuntuを使用するコンテナを実行しているとします。 – ninesalt

+1

Dockerコンテナは、ホストコンピュータの設定を変更するためのものではありません。ホストコンピュータ用のコンテナポートを公開して使用することもできます。 –

1

あなたができることは、コンテナにアクションを実行する必要があることを示す "信号"をホストマシンに送信させることです。

例えば、コンテナは、ホストマシンが監視するボリュームマッピングされたディレクトリにファイルを配置します。次に、アクションを実行するために独自のロジックを実行するのはホストマシンに任されます。

つまり、コンテナは、ホストマシンの動作の詳細を気にしないでください。

関連する問題