問題タブ [docker-container]

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 投票する
2 に答える
6964 参照

linux - Dockerボリュームオプションは、「ルート」ユーザーとしてフォルダーを作成します

PC (Fedora 24) に としてログインしていますrperez。このユーザーを介して実行できるように Docker をセットアップしたので、次のようにコンテナーを実行しています。

$root 以外のユーザー (を使用) としてコマンドを実行していることを意味する記号に注意してください#。上記のコマンドは、次のディレクトリを/home/rperez/var/www作成rootdockerますroot

このセットアップを使用すると、所有者がそうであるため、ファイル~/var/wwwを作成できません...rperezroot

これに対処する正しい方法は何ですか?これこれを読みましたが、あまり役に立ちません。

何か助けはありますか?

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

docker - docker os コンテナーとアプリ コンテナーの比較

docker コンテナーを使用するベスト プラクティスが何であるかはわかりません。VM、たとえばubuntuを使用してWebアプリケーションを実行する場合、データベース、Webサービスなど、アプリケーションを実行するために必要なすべてのソフトウェアをインストールし、スタンドアロンのオペレーティングシステムのように使用します。

ただし、Docker は別の方法で使用できます。

Web アプリケーションを実行するシナリオを考えると、次の 2 つのオプションがあります。

  1. すべてのソフトウェアを 1 つのコンテナーにインストールします。データベース、Java、および実行に必要なその他すべてのソフトウェアをインストールします (つまり、VM を使用するのと同じように使用します)。

  2. 各アプリケーションを個別のコンテナーにインストールします。データベースを 1 つのコンテナーに、Web サービスを別のコンテナーに配置し、それらを相互に通信させます。

オプション 1) は、フルスタックのアプリケーションを展開する方が簡単に思えますが、パッケージ間の依存関係の複雑さの問題や、各ソフトウェアへの OS リソースの割り当てがある場合、スケーリングが難しくなる可能性があります。

オプション 2) はデプロイが難しいように見えますが、各コンテナーはあまり苦労せずにアップグレードできます。

Docker ユーザーの間で一般的な慣行は何ですか?

編集:これに対する回答はhttps://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/#run-only-one-process-per-containerにも記載されています

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

.net - Docker と Octopus Deploy の違いは何ですか

AWS EC2 インスタンスに Web アプリケーションをデプロイするためだけに、しばらく Octopus Deploy を使用しています。Octopus Deploy は .NET 固有のものであり、Docker に比べて学習曲線が非常に簡単であることは認識しています。Docker を使用するポイントの 1 つは、ハイパーバイザーを使用して VM を作成するのではなく、コンテナーを作成することだと理解しています。

しかし、私の質問は、octopus deploy よりも Docker を使用する本当の理由は何ですか? これは、アプリケーションの展開に適しています。彼らは違うことをしますか?

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

networking - リンク付きの Docker Compose を使用したターミナル

ブリッジ ネットワークの下で 3 つのサービス (db、nginx、および Web サービス) をリンクし、ローカルホストまたはコンテナー内からさまざまなサービスを調べて、Web サービス用の対話型ターミナルを用意したいと考えています。どうすればこれを達成できますか?

私の docker-compose 構成は次のとおりです。

ここで、Web サービスは をmhart/alpine-node:6.7.0ベースとして使用し、さらにいくつかのユーティリティと Python3.5 および Flask を追加します。

実行docker-compose run webすると、インタラクティブ ターミナルにアクセスできますが、db および nginx サービスが適切に起動/リンクされません。次の出力が得られます。

そして、コンテナ内からのさらなるネットワーク フォレンジックにより、nginx も db も存在しないことが判明しました。docker-compose upホストシステムにmysqlがインストールされていることを認められたdbサービスのポート競合が実際に作成されたため、この主張をさらにサポートできdocker-compose runます.

一方、試してみるとdocker-compose up、はるかにアクティブなトレースが得られますが、インタラクティブなターミナルは得られません:

対話型ターミナルと 3 つのコンテナーの適切なリンクを実現するにはどうすればよいですか?

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

docker - コンテナーを開始できません: [8] システム エラー: exec: "up3": 実行可能ファイルが $PATH に見つかりません

私はスタック オーバーフローを初めて使用し、スタック オーバーフローで同様の問題を確認しましたが、期待した答えが見つかりませんでした。私の質問がばかげていないことを願っています。コンテナーを作成した後、コンテナーを開始できません。次のコマンドを使用するdocker start 6069dba3cb02 と、次のエラー メッセージが表示されます。

ここに画像の説明を入力

コンテナー情報は次のとおりです。

docker restart 6069dba3cb02" " または " "という別のコマンドを使用してもdocker run ubuntu:14.04 up3、まだエラーが発生します。

Docker 情報: オペレーティング システム: Boot2Docker 1.8.0 (TCL 6.3); インストール パス: https://github.com/boot2docker/windows-installer/releases

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

bash - Docker コンテナ A から (Docker コンテナ B で) Bash スクリプトを実行する

Docker Compose ファイルを使用して構成された 2 つの Docker コンテナーがあります。

  • Docker コンテナ A - (teamcity-agent)
  • Docker コンテナー B - (ビルドツール)

どちらも問題なく起動します。しかし、TeamCity のビルド プロセスの一環として、エージェント (コンテナー A) が Docker コンテナー B にある bash スクリプトを実行することを希望します (このスクリプトを実行できるのは B のみです)。

Team City で SSH ビルド ステップを使用してこれをセットアップしようとしましたが、接続が拒否されました。

それをさらに読むと、コンテナーで SSH が有効になっておらず、実際にコンテナーに SSH で接続しようとするべきではないことがわかります。

では、コンテナ A にコンテナ B でスクリプトを実行させ、A でスクリプトの出力を確認するにはどうすればよいでしょうか?

これのベストプラクティスは何ですか?

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

docker - ポートはすべての docker ネットワークで共通ではありませんか?

2 つの docker ネットワークを作成しました

  1. チャンネルネットワーク

    /li>
  2. 内部ネットワーク

    /li>

dockerコンテナーを作成する際に、 chnetwork を使用します

後でInternal-networkに変更し、コンテナをchnetworkから切断しました

問題はdocker psコマンドがそのコンテナーのポートを表示しないことです。つまり、 internal-networkでポートにアクセスできないということです。

ネットワークをchnetworkに変更すると、その時間はdocker psディスプレイポートのみになります。すべての docker ネットワークでポートにアクセスできるようにするには、どうすればよいですか?

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

docker - 自動的にクラッシュする Docker コンテナを再起動する

コンテナが自動的にクラッシュした場合にコンテナを再起動したい。これを行う方法がわかりません。Elasticsearch、redis、nats、および mongo を含むスクリプト docker-compose-deps.yml があります。ターミナルでこれを実行して、これをセットアップします: docker-compose -f docker-compose-deps.yml up -d. この後、以下を実行してコンテナをセットアップしましたdocker-compose up -d。これらのコンテナがクラッシュした場合に再起動する方法はありますか? docker には再起動機能が組み込まれていることに気付きましたが、これを実装する方法がわかりません。

いくつかのフィードバックの後、私は自分のファイルと自分のファイルに追加restart: alwaysdocker-composeましたdocker-compose-deps.yml。これは正しく見えますか?それとも、これは常に再起動を実装する方法ですか?

docker-compose サンプル

docker-compose-deps.yml サンプル