問題タブ [dockerfile]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
869 参照

linux - Docker は IP アドレスを設定し、サービスを開始します

docker をセットアップしてコンテナーを作成しましたが、IP サブネットで起動したいというLAN問題docker0docker -d -b docker0あります。statichttpdmysqld

Dockerfile:

エラー:

モードでコンテナーを開始する必要があることは知っていますが、オプション--privilegedで設定する方法がわかりませんbuild

0 投票する
3 に答える
21972 参照

memory - 長時間実行されているプロセスからのログによる Docker デーモンのメモリ リーク

私は次の設定をしています:

  1. コンテナ内で実行されている Perl サービスと書き込みログ アウトSTDERR
  2. アーカイブのためにそれらのログをリモートサーバーに送信するlogspout

600 MB RAM のマシンで。

また、次の場所でログを定期的に切り捨てます。

ここで提案されているように、100% ディスクのシナリオを回避します。

問題

Docker デーモンは、最初は 1% の低いメモリ使用量で始まり、コンテナーを実行して 2 日後にはゆっくりと 40% に増加します。

参照

Docker デーモンのメモリ リークは、この問題この問題で話題になっています。しかし、どちらもコミット時にマージされたと言って閉じられています。dockerの最新のメジャー バージョン(Docker バージョン 1.4.0、ビルド 4595d4f) を実行していますが、単調に増加するメモリ使用量の問題に直面しています。

編集:私はこの実験を行いました:コンテナでbashプロセスを実行し、多くの行をSTDERRに出力すると、dockerデーモンプロセスのメモリ使用量が非常に速く加速します

docker はログのバッファリングを行い、基になるログ ファイル ( /var/lib/docker/containers/CID/CID-json.log) がクリアされてもメモリを解放しませんか?

ログをクリアする方法はないようです。このコミットは、実行時間の長いタスクの問題を解決しますか?

docker デーモンのメモリ使用量が増加し続ける理由がわかりません。この問題をデバッグするにはどうすればよいですか?

0 投票する
2 に答える
2410 参照

docker - docker mysql 永続ストレージ

私はこのアプリを docker + fig を使用してオーケストレーションしようとしています。これは、試行の初日にうまく機能します。データベースファイルを永続化したいデータコンテナと、アプリで使用されるredis + mysqlコンテナを使用します。

mysql コンテナーを起動する/var/lib/mysqlと、内部でデータ ファイルが検索され、何も見つからない場合は、デフォルトの sb が作成されます。これを入力すると、ファイルが作成され、データ ボリュームに永続化されます。

fig を学習している間fig rm --force mysql、mysql コンテナーを削除する必要がありました。データ コンテナー上でデータが安全であることを知っていれば、恐れることなくこれを実行できました。ホストで a を実行するlsと、mysql ファイルがそのまま表示されます。

再度実行すると問題が発生しfig up、mysql コンテナーが再度作成されます。同じボリュームを共有していて、古い mysql ファイルがまだ存在しているにもかかわらず、この新しいコンテナーは、共有ボリュームが空であるかのように新しいデータベースを作成します。これは、コンテナを閉じた場合にのみ発生し、rm図を閉じて元に戻した場合には発生しません。

それが役立つ場合、これが私の図ファイルです:

data: image: ubuntu:12.04 volumes: - /data/mysql:/var/lib/mysql redis: image: redis:latest mysql: image: mysql:latest ports: - 3306 environment: MYSQL_DATABASE: ***** MYSQL_ROOT_PASSWORD: ***** volumes_from: - data web: build: . dns: 8.8.8.8 command: python manage.py runserver 0.0.0.0:8000 environment: - DEBUG=True - PYTHONUNBUFFERED=1 volumes: - .:/code ports: - "8000:8000" links: - data - mysql - redis

新しい mysql コンテナが既存のファイルを使用しない理由はありますか?

0 投票する
1 に答える
763 参照

node.js - NodeモジュールをDockerにインストールする:なぜ消えているのですか?

最初のノードの Docker イメージを作成しようとしています。ヒューボット用です。の基本は次のDockerfileとおりです。

問題は、ビルド ステップが終了した後に node_modules が存在しないことです。ビルドステップ中に、予想される場所に配置されていることがわかります。

したがって、Docker ファイルはある程度ステートレスであることを知っています。そのため、「apt update && install」が必要です。しかし、何かが取り残されます。そうしないと、インストールされた apt ビットが最後に存在しません。どうすれば永続化できnode_modulesますか?

0 投票する
8 に答える
501567 参照

linux - ユーザーを Docker コンテナに追加するにはどうすればよいですか?

内部でいくつかのプロセス (uwsgi とセロリ) が実行されている docker コンテナーがあります。アクセス許可を割り当てるために、これらのプロセスの celery ユーザーと uwsgi ユーザー、および両方が属するワーカー グループを作成したいと考えています。

RUN adduser uwsgiDockerfile にとを追加しようとRUN adduser celeryしましたが、これらのコマンドは入力を要求するため、問題が発生しています (以下のビルドからの応答を投稿しました)。

コンテナーで実行されているワーカーのアクセス許可を設定するために、ユーザーを Docker コンテナーに追加する最良の方法は何ですか?

私の Docker イメージは、公式の Ubuntu14.04 ベースから構築されています。

adduser コマンドを実行したときの Dockerfile からの出力は次のとおりです。

0 投票する
1 に答える
482 参照

docker - Docker FROM を実装するさまざまな方法は何ですか?

イメージの継承は通常、docker の from コマンドなどを使用して行われます。

私の場合、ベース イメージ ビルダーとして使用したい Dockerfile があり、そのファイルをカスタマイズする 2 つのサブ dockerfile があります。

元の dockerfile をコンテナーとして dockerhub にコミットしたくないので、たとえば、次のようにします。

slave/Dockerfile は次のようになります。

これ(または同様のもの)は可能ですか?または、最上位の Dockerfile を実際にコンテナーに変換し、それを dockerhub イメージとしてコミットしてから、docker FROMディレクティブを使用して活用する必要がありますか。

0 投票する
2 に答える
101818 参照

docker - dockerfile からのファイルの編集

/etc/sysctl.confDocker イメージにいくつかの行を追加する必要があります。

手動で編集してアプローチDockerfileを使用するのではなく、これを行うべき等の方法はありますか?docker commit