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

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

13
docker composeで環境変数を使用する方法
docker-compose.yml内でenv変数を使用できるようにしたいのですが、Docker-composeの実行時に値が渡されます。これは例です。今日は、基本的なdocker runコマンドでこれを行っています。これは、自分のスクリプトにラップされています。そのようなbashラッパーなしで、composeでそれを達成する方法はありますか? proxy: hostname: $hostname volumes: - /mnt/data/logs/$hostname:/logs - /mnt/data/$hostname:/data


4
ボリュームを使用してドッキングされたpostgresデータベースにデータを保持する方法
私のdocker composeファイルには、web、nginx、postgresの3つのコンテナーがあります。Postgresは次のようになります。 postgres: container_name: postgres restart: always image: postgres:latest volumes: - ./database:/var/lib/postgresql ports: - "5432:5432 私の目標は./database、postgresコンテナー内でと呼ばれるローカルフォルダーに対応するボリュームをマウントすること/var/lib/postgresです。これらのコンテナーを起動してデータをpostgresに挿入する/var/lib/postgres/data/base/と、追加したデータが(postgresコンテナーに)いっぱいであることを確認しますが、ローカルシステムで./databaseは、dataフォルダーを取得するだけです(つまり./database/data、作成されますが、空です) 。どうして? ノート: これは、上記のファイルが機能することを示唆しています。 この人は興味深いDockerサービスを使用しています アップデート1 ニックの提案に従って、私はa docker inspectを見つけて見つけました: "Mounts": [ { "Source": "/Users/alex/Documents/MyApp/database", "Destination": "/var/lib/postgresql", "Mode": "rw", "RW": true, "Propagation": "rprivate" }, { "Name": "e5bf22471215db058127109053e72e0a423d97b05a2afb4824b411322efd2c35", "Source": "/var/lib/docker/volumes/e5bf22471215db058127109053e72e0a423d97b05a2afb4824b411322efd2c35/_data", "Destination": "/var/lib/postgresql/data", "Driver": "local", "Mode": "", "RW": …

5
docker-composeでビルドされたイメージの名前を定義するにはどうすればよいですか
私が使用しているドッキングウィンドウ-コンを私の開発環境を作成します。特定のイメージを作成したいのですが、そのイメージの名前を設定する方法がわかりません。 wildfly: build: /path/to/dir/Dockerfile container_name: wildfly_server ports: - 9990:9990 - 80:8080 environment: - MYSQL_HOST=mysql_server - MONGO_HOST=mongo_server - ELASTIC_HOST=elasticsearch_server volumes: - /Volumes/CaseSensitive/development/wildfly/deployments/:/opt/jboss/wildfly/standalone/deployments/ links: - mysql:mysql_server - mongo:mongo_server - elasticsearch:elasticsearch_server docker-composeすべて実行しても問題ありませんが、新しいイメージのランダムな名前が表示されます。ビルドイメージに名前を設定することはできますか?

6
docker-composeで常に新しいイメージからコンテナーを再作成するにはどうすればよいですか?
私のDockerイメージはJenkins CIサーバー上に構築され、私たちのプライベートDockerレジストリにプッシュされます。私の目標は、常に最初に構築されたイメージの状態を開始するdocker-composeを使用して環境をプロビジョニングすることです。 現在、さまざまなマシンでdocker-compose 1.3.2および1.4.0を使用していますが、以前のバージョンも使用していました。 私は常にdocker-compose pull && docker-compose up -dコマンドを使用して、レジストリから新しいイメージをフェッチし、起動しました。私の好みの動作は、特定の時点まで予想どおりに機能していたと思いますが、それ以来docker-compose up、最初にビルドされたイメージを毎回開始するのではなく、以前に停止したコンテナーを再実行し始めました。 この動作を取り除く方法はありますか?その方法は、すべての呼び出し時にコマンドラインで何かを「忘れない」ことに依存しないようにdocker-compose.yml設定ファイルに配線されている方法でしょうか? ps。私の目標を達成する方法を見つけることに加えて、私はこの行動の背景についてもう少し知りたいです。Dockerの基本的な考え方は、不変のインフラストラクチャを構築することだと思います。docker-composeの現在の動作は、このアプローチと衝突しているように見えるだけです。

13
Docker-compose:npmのインストールが成功した後、node_modulesがボリュームに存在しない
次のサービスを備えたアプリがあります。 web/ -ポート5000でPython 3フラスコWebサーバーを保持して実行します。sqlite3を使用します。 worker/- index.jsキューのワーカーであるファイルがあります。Webサーバーは、ポート経由でjson APIを使用してこのキューと対話します9730。ワーカーはストレージにredisを使用します。ワーカーはまた、データをフォルダーにローカルに保存しますworker/images/ 現在、この質問はにのみ関係していworkerます。 worker/Dockerfile FROM node:0.12 WORKDIR /worker COPY package.json /worker/ RUN npm install COPY . /worker/ docker-compose.yml redis: image: redis worker: build: ./worker command: npm start ports: - "9730:9730" volumes: - worker/:/worker/ links: - redis を実行するとdocker-compose build、すべてが期待どおりに動作し、すべてのnpmモジュールが/worker/node_modules期待どおりにインストールされます。 npm WARN package.json unfold@1.0.0 No README data …

22
docker-composeからdockerに接続できません
Mac OS 10.8.5にdocker-machine 0.1.0とdocker-compose 1.1.0をインストールしました。Docker-machineは正常に実行されており、docker-machine sshで接続できます。 $ docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM dev * virtualbox Running tcp://192.168.99.100:2376 ただし、docker-composeから接続できません。 $ docker-compose up http + unix://var/run/docker.sockでDockerデーモンに接続できませんでした-実行中ですか? 標準以外の場所にある場合は、DOCKER_HOST環境変数を使用してURLを指定します。 私のDockerfileとdocker-compose.ymlはこちらです。 Dockerfile FROM centos:centos7 DOCKER_HOST tcp://192.168.99.100:2376 docker-compose.yml web: build: . 接続できないのはなぜですか?何か案は?

6
docker-composeで特定のコンテナーのみ
私はdocker-compose.ymlいくつかのコンテナを含むものを持っています。3つは私のアプリ(クライアント、サーバー、データベース)用で、残りはさまざまな開発ツール(psql、npm、manage.pyなど)用です。実行すると、docker-compose upすべてが開始されますが、3つの主要なものだけを開始したいと思います。私が指定したリンクのため、これらの3つだけで開始できdocker-compose up clientますが、出力はその1つのコンテナーからのみです。それで、次のいずれかを行う方法はありますか? どのコンテナで起動するかをdocker-composeに指示します docker-compose up リンクされているすべてのコンテナから出力を取得します docker-compose up client

5
docker-compose.ymlのエントリポイントに引数を渡す方法
この画像を使用します:dperson / samba 画像はそれ自体のエントリポイントを定義しており、上書きしたくありません。 エントリポイントに引数を渡す必要があります。Dockerを使用するだけで簡単です。 docker run ... dperson/samba arg1 arg2 arg3 しかし、docker_compose.ymlでそれを行う方法は? 現在、私は回避策として使用します: command: samba.sh arg1 arg2 arg3 しかし、私はエントリポイントの再定義を強制するので、それは満足のいくものではありません。

4
Docker-Compose永続データMySQL
$ docker-compose down次のように実行すると、MySQLデータを永続化できないようです.yml version: '2' services: # other services data: container_name: flask_data image: mysql:latest volumes: - /var/lib/mysql command: "true" mysql: container_name: flask_mysql restart: always image: mysql:latest environment: MYSQL_ROOT_PASSWORD: 'test_pass' # TODO: Change this MYSQL_USER: 'test' MYSQL_PASS: 'pass' volumes_from: - data ports: - "3306:3306" 私の理解では、data使用しているコンテナでは、volumes: - /var/lib/mysqlmysqlがデータをコンテナに保存するローカルマシンのディレクトリにマップされます。このマッピングにより、コンテナが破棄された場合でもデータが保持されるはずです。そして、mysqlコンテナーは単なるdbへのクライアントインターフェイスであり、ローカルディレクトリを表示できます。volumes_from: - data この答えを試してもうまくいかなかった。Docker-Compose永続データの問題 編集 …

16
Docker「エラー:ネットワークに割り当てるデフォルトの中で、重複しない利用可能なIPv4アドレスプールを見つけることができませんでした」
apkmirror-scraper-compose次のような構造のディレクトリがあります。 . ├── docker-compose.yml ├── privoxy │ ├── config │ └── Dockerfile ├── scraper │ ├── Dockerfile │ ├── newnym.py │ └── requirements.txt └── tor └── Dockerfile 私は以下を実行しようとしていますdocker-compose.yml: version: '3' services: privoxy: build: ./privoxy ports: - "8118:8118" links: - tor tor: build: context: ./tor args: password: "" ports: - "9050:9050" …

11
Windows 10上のDocker「エンドポイントでのドライバーが外部接続のプログラミングに失敗しました」
$ docker-compose up -dプロジェクトで使用しようとしていますが、次のエラーメッセージが表示されます。 エラー:apiはサービスを開始できませんapi:ドライバーはエンドポイントdataexploration_api_1での外部接続のプログラミングに失敗しました(8781c95937a0a4b0b8da233376f71d2fc135f46aad011401c019eb3d14a0b117):ユーザーランドプロキシの開始エラー:mkdir /port/tcp:0.0.0.0:9000:tcp:80.19.0.20.2プロジェクトの立ち上げ中にエラーが発生しました。 たぶん港なのかしら?以前はポート8080を試していました。プロジェクトは元々Macでセットアップされていたので、gitHubからリポジトリを複製しました。



11
Dockerはインストールされていますが、Docker Composeはインストールされていませんか?どうして?
次のコマンドを実行して、centos 7にdockerをインストールしました。 curl -sSL https://get.docker.com/ | sh systemctl enable docker && systemctl start docker docker run hello-world 注:helloworldは正しく実行され、問題はありません。 ただし、docker-compose(docker-compose.ymlが存在し、有効である)を実行しようとすると、Centosでのみエラーが発生します(docker-composeファイルではWindowsバージョンが正常に機能します)。 /usr/local/bin/docker-compose: line 1: {error:Not Found}: command not found

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