タグ付けされた質問 「docker-compose」

Composeは、Dockerで複雑なアプリケーションを定義して実行するためのツールです。Composeを使用すると、マルチコンテナアプリケーションを単一のファイルで定義し、アプリケーションを実行するために必要なすべてのことを実行する単一のコマンドでアプリケーションを起動します。



11
Docker Compose対Dockerfile-どちらが良いですか?
私はDockerを読んで学び、使用するDjangoセットアップを正しく選択しようとしています。これまでのところ、次のいずれかがあります。 Docker ComposeまたはDockerfile でDockerfiles使用されていることは理解していますがDocker Compose、すべてを1つの大きなDockerfileに配置しFROMて、さまざまなイメージに対して複数のコマンドを使用するのが良い方法かどうかわかりません。 以下を含むいくつかの異なる画像を使用したいと思います。 uwsgi nginx postgres redis rabbitmq celery with cron Dockerを使用してこのタイプの環境をセットアップする際のベストプラクティスについてアドバイスしてください。 それが役立つ場合、私はMacを使用しているので、boot2dockerを使用します。 私が持っていたいくつかの問題: Docker ComposeはPython3と互換性がありません プロジェクトをコンテナ化したいので、1つの大きなDockerfileが理想的でない場合は、Docker Composeを使用して分割する必要があると思います 私はプロジェクトをPy2とPy3に互換性があるようにしてもいいので、django-composeに傾いています

8
docker-composeで単一のコンテナーを再起動する方法
docker-compose.yml4つのコンテナーを含むファイルがあります:redis、postgres、api、worker workerの開発中、変更を適用するために再起動が必要になることがよくあります。worker他のコンテナーを再起動せずにコンテナー(例:)を再起動する良い方法はありますか?

8
Docker ComposeとKubernetesの違いは何ですか?
Docker、Google Cloud、Kubernetesに飛び込んでいて、3つすべてをまだ明確に理解していないにもかかわらず、これらの製品は重複しているように見えますが、互換性はありません。 たとえばdocker-compose.yml、アプリをKubernetesにデプロイできるようにファイルを書き換える必要があります。 誰かがDocker、Docker Compose、Docker Cloud、およびKubernetesが重複している場所、および一方が他方に依存している場所の高レベルの大まかな説明を提供できますか?

16
Docker ComposeはコンテナXを待ってからYを開始します
私はrabbitmqとここからの簡単なpythonサンプルをdocker -composeとともに使用しています。私の問題は、rabbitmqが完全に開始するのを待つ必要があることです。これまでに検索したものから、コンテナーx(私の場合はworker)でy(rabbitmq)が開始されるまで待機する方法がわかりません。 他のホストがオンラインであるかどうかを確認するこのブログ投稿を見つけました。私もこのdockerコマンドを見つけました: 待つ 使用法:docker wait CONTAINER [CONTAINER ...] コンテナーが停止するまでブロックし、終了コードを出力します。 コンテナーが停止するのを待つのは私が探しているものではないかもしれませんが、そうである場合、docker-compose.yml内でそのコマンドを使用することは可能ですか?これまでの私の解決策は、数秒待ってポートを確認することですが、これはこれを達成する方法ですか?待たないとエラーになります。 docker-compose.yml worker: build: myapp/. volumes: - myapp/.:/usr/src/app:ro links: - rabbitmq rabbitmq: image: rabbitmq:3-management python helloサンプル(rabbit.py): import pika import time import socket pingcounter = 0 isreachable = False while isreachable is False and pingcounter < 5: s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) …

15
Dockerを修正する方法:権限が拒否された問題が発生しました
Ubuntu OSがインストールされているマシンにDockerをインストールしました。ドッカーをインストールした後、実行すると sudo docker run hello-world すべて大丈夫ですがsudo、コマンドをより短くするために単語を非表示にしたいです。 単語なしでコマンドを書くと sudo docker run hello-world 次のように表示されます。 docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.35/containers/create: dial unix /var/run/docker.sock: connect: permission denied.See 'docker run --help'. 作ってみると同じです docker-compose up どうすればこれを解決できますか?

19
MinikubeでローカルDockerイメージを使用する方法
で使用したいDockerイメージがいくつかありminikubeます。ローカルイメージを直接使用するのではなく、最初に同じイメージをアップロードしてからダウンロードする必要はありません。どうすればよいですか? 私が試したもの: 1.私はこれらのコマンドを実行しようとしました(別々に、minikubeのインスタンスを両方削除し、新しく開始しました)。 kubectl run hdfs --image=fluxcapacitor/hdfs:latest --port=8989 kubectl run hdfs --image=fluxcapacitor/hdfs:latest --port=8989 imagePullPolicy=Never 出力: NAME READY STATUS RESTARTS AGE hdfs-2425930030-q0sdl 0/1 ContainerCreating 0 10m 何らかのステータスで動かなくなるだけで、準備完了状態になることはありません。 2.レジストリを作成し、そこに画像を入れてみましたが、どちらもうまくいきませんでした。私はそれを誤って行った可能性がありますが、このタスクを実行するための適切な指示が見つかりません。 ローカルのkubernetesインスタンスでローカルのDockerイメージを使用する手順を入力してください。 OS:ubuntu 16.04 Docker:Dockerバージョン1.13.1、ビルド092cba3 Kubernetes: Client Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.3", GitCommit:"029c3a408176b55c30846f0faedf56aae5992e9b", GitTreeState:"clean", BuildDate:"2017-02-15T06:40:50Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"} Server Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.2", GitCommit:"08e099554f3c31f6e6f07b448ab3ed78d0520507", GitTreeState:"clean", …

3
docker_compose.ymlのリンクとdepends_onの違い
Docker Composeのcompose-fileドキュメントによると: depends_on -サービス間の依存関係を表現します。 links-別のサービスのコンテナーにリンクし、depends_onと同じ方法でサービス間の依存関係も表現します。 他のコンテナにリンクする目的がわからないので、2つのオプションの違いはまだかなり難しいようです。 例があればはるかに簡単ですが、何も見つかりません。 コンテナBをコンテナAにリンクすると、コンテナBはコンテナAのシェル内で「ping可能」になります。 私はping BコンテナAの内部を走りbash、このような結果を得ました(参照用、インターネットからの画像)

9
Docker Composeを使用したインタラクティブシェル
Docker Composeのみを使用してコンテナーでインタラクティブシェルを起動する方法はありますか?私はdocker-compose.ymlで次のようなことを試しました: myapp: image: alpine:latest entrypoint: /bin/sh docker-compose upを使用してこのコンテナーを起動すると、すぐに終了します。インタラクティブシェルとして起動するために、entrypointコマンドに追加できるフラグ、またはmyappへの追加オプションはありますか? これを実現するためのネイティブのdockerコマンドオプションがあることは知っていますが、Docker Composeだけを使用することも可能かどうか知りたいだけです。

13
すべてのDockerローカルDockerイメージを削除する方法
私は最近Dockerを使い始めましたが、実験のdocker-compose down代わりに、ctrl-cまたはdocker-compose stop自分の実験を取り除くために使うべきだとは思いもしませんでした。ローカルに不要なDockerイメージが多数あります。 すべてのローカルDockerイメージとコンテナーを削除するために実行できるフラグはありますか? docker rmi --all --force--allフラグのようなものは存在しませんが、同様のアイデアを持つ何かを探しています。

13
ボリュームに単一のファイルをマウントする方法
PHPアプリケーションをドッキングしようとしています。dockerfileでアーカイブをダウンロードし、解凍します。 すべてが正常に動作しますが、新しいバージョンがリリースされ、dockerfileを更新した場合、config.phpが上書きされるため、アプリケーションを再インストールする必要があります。 データベースと同じように、ファイルをボリュームとしてマウントできると思いました。 ボリュームとダイレクトパスの2つの方法で試してみました。 docker-compose: version: '2' services: app: build: src ports: - "8080:80" depends_on: - mysql volumes: - app-conf:/var/www/html/upload - app-conf:/var/www/html/config.php environment: DB_TYPE: mysql DB_MANAGER: MysqlManager mysql: image: mysql:5.6 container_name: mysql volumes: - mysqldata:/var/lib/mysql ports: - 3306:3306 environment: MYSQL_ROOT_PASSWORD: MYSQL_DATABASE: MYSQL_USER: MYSQL_PASSWORD: volumes: mysqldata: app-conf: これはエラーになります: そして、私はマウントされたボリュームとして、与えられたパスでそれを試しました。 /src/docker/myapp/upload:/var/www/html/upload /src/docker/myapp/upload:/var/www/html/config.php …

13
複数のdocker-composeプロジェクト間の通信
docker-compose.yml2つの異なるフォルダーに2 つの個別のファイルがあります。 ~/front/docker-compose.yml ~/api/docker-compose.yml のコンテナーがのコンテナーにfrontリクエストを送信できることを確認するにはどうすればよいapiですか? 個別のコンテナ--default-gatewayを使用docker runしてオプションを設定できるため、このコンテナに特定のIPアドレスを割り当てることができることは知っていますが、を使用している場合、このオプションは使用できないようですdocker-compose。 現在、私はa docker inspect my_api_container_idを実行して、出力でゲートウェイを確認しています。機能しますが、問題はこのIPがランダムに割り当てられるため、信頼できないことです。 したがって、この質問の別の形式は次のようになります。 docker-composeを使用して特定のコンテナに固定IPアドレスを割り当てることはできますか? しかし、最終的に私が気にしているのは: 2つの異なるdocker-composeプロジェクトが互いに通信するにはどうすればよいですか?


10
docker-compose.ymlでdockerコンテナーを再構築する方法?
docker-compose.ymlで定義されているサービスのスコープがあります。これらのサービスを開始しました。これらの1つだけを再構築して、他のサービスを起動せずに起動する必要があります。次のコマンドを実行します。 docker-compose up -d # run all services docker-compose stop nginx # stop only one. but it still running !!! docker-compose build --no-cache nginx docker-compose up -d --no-deps # link nginx to other services 最後に、古いnginxコンテナーを取得しました。ちなみに、docker-composeは実行中のすべてのコンテナを強制終了するわけではありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.