2017-10-25 10 views
0

コンテナに最適化されたOSを使用した新しい設定に廃止されたコンテナ-vmイメージを使用していた既存の設定をアップグレードしようとすると、https://cloud.google.com/container-optimized-os/docs/のすべてのドキュメントに従っています。しかし、何も動作しません! Dockerコンテナをポート80(つまり-p 80:80)にバインドすることはできません。また、Dockerコンテナは/var/run/nginx.pidに書き込めないようです(はい、nginxを使用しています私のドッカーのコンテナ)。私はAppArmourを無効にする指示に従いました。また、nginxのAppArmourプロファイルを作成しようとしました。何も動作しません!彼らは、単にbusyboxイメージを使用して "Hello World"や睡眠を出力するのではなく、コンテナ最適化されたOSを使っています。ポートを開いてファイルシステムに書き込む例はどうですか?コンテナに最適化されたOSの例

+0

-v 80:80は-p 80:80 .. typo? – koma

+0

@koma固定ありがとう – dgrant

答えて

3

Apache GuacamoleをContainer Optimized OSにインストールしましたが、それは魅力的です。 some constraints in place for securityがあります。

ルートファイルシステムを( "/")、読み取り専用それのいくつかの部分と同様に搭載されている次のように、書き込み可能なように取り付けられたRE:

  • /TMP /ラン/メディア/ MNT/disksおよび/ var/lib/cloudはすべてtmpfsを使用して にマウントされていますが、書き込み可能ですが、その内容はリブート時には に保存されません。

  • ディレクトリ/ MNT/stateful_partition、/ VAR 及び/ホームは これらの位置は リブート持続データを格納するために使用することができることを意味ステートフルディスクパーティションから搭載されています。たとえば、Dockerの作業ディレクトリ/ var/lib/dockerはリブート時にステートフルな です。

  • /var/lib/dockerと/ var/lib/cloudのみが「実行可能」としてマウントされます(noexecマウントフラグなしの )。

If you need to accept HTTP (port 80) connections from any source IPアドレスは、あなたのコンテナOptimzied OSインスタンス上で次のコマンドを実行します。一般的には

sudo iptables -w -A INPUT -p tcp --dport 80 -j ACCEPT 

、あなたがクラウドのinitてsystemdにサービスとしてホストファイアウォールを設定することをお勧めします。

PS:コンテナ最適化OSは自動更新が可能です。このメカニズムを使用して、Compute Engineインスタンスのフリートを更新できます。

+0

ありがとうございます。私は80に縛られることができないと信じています...私は今夜見てみましょう。 – dgrant

+0

私は問題なくポート80にバインドしています。つまり、ポート80に-p 80:8080を使用してDockerのサービスをマッピングしています。 – koma

関連する問題