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

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

3
Docker Compose-複数のコンテナー間で名前付きボリュームを共有する
docker-composeとv3を使用しています。Dockerにボリュームをマウントしようとしています: ./appdata:/appdata これをボリュームとして取得し、複数のコンテナからそのボリュームを参照したいと思います。ボリューム構成の参照のみを示しdata-volume:ていない値を持つという名前のボリュームとしては、それは上記のように見えないようにします。 services: nginx: build: ./nginx/ ports: - 80:80 links: - php volumes: - app-volume php: build: ./php/ expose: - 9000 volumes: - app-volume volumes: app-volume: ./appdata:/appdata これは私に与えます: エラー:ファイル './docker-compose.yml'では、ボリューム 'app-volume'は文字列ではなくマッピングである必要があります。 volumesキーと値のペアを変更する必要があることは明らかですが、サービス間でボリュームを共有できるように、これを変更する方法がわかりません。 私もチェックアウトしましたvolumes_fromが、これは事実上、他のコンテナからの継承を許可するだけです。volumes_from必要なマッピングが含まれている別のコンテナーを誰かが使用しているのを見たことがありますcommand: trueが、コンテナーが実際には実行されないように設定されているため、ハッキングのように見えます。 これどうやってするの? 注、私は次の作業をしています: nginx: volumes: - ./appdata:/appdata php: volumes: - ./appdata:/appdata しかし、それは単なる複製であり、名前付きボリュームが回避するのに役立つことを願っています:-)

1
Docker-Composeと複数のサービス
これはサンプルの質問です!本番環境では絶対に行わないでください。NGINX / PHP /その他のサービスを別々のコンテナで実行してください! docker-compose upUbuntuコンテナーを起動すると、で終了しubuntu exited with code 0ます。 を実行するとdocker run -d -ti -p 80:80 -v ~/sph/laravel52:/www/laravel ubuntu、すべて正常に動作します。 Docker Composeを使用してこの動作を再現するにはどうすればよいですか? これは私のDockerfileです: # Version: 0.0.1 FROM ubuntu:15.04 ENV DEBIAN_FRONTEND noninteractive #INSTALL ALL RUN apt-get update && apt-get install -y \ nano \ php5-fpm \ php5-mysql \ nginx #NGINX CONF ADD …

5
Dockerの作成、net:hostでのコンテナーの実行
docker-composeを使用して「ホスト」ネットに3つのサービスを生成したいと思います。これが私のdocker-compose.ymlファイルです: version: '2' services: mysql: image: mysql net: "host" nginx: image: nginx net: "host" app: image: tomcat net: "host" 次のエラーが発生しました: $ docker-compose up [31mERROR[0m: Validation failed in file '.\docker-compose.yml', reason(s): Unsupported config option for services.app: 'net' Unsupported config option for services.mysql: 'net' Unsupported config option for services.nginx: 'net' Windowsでboot2dockerを使用しています。 Docker、およびDocker-composeバージョン: …

7
php-fpmとNginx Dockerコンテナを正しくリンクする方法は?
2つの個別のコンテナーをリンクしようとしています。 nginx:latest php:fpm 問題は、phpスクリプトが機能しないことです。おそらくphp-fpm設定が正しくありません。これが私のリポジトリにあるソースコードです。ここにファイルがありますdocker-compose.yml: nginx: build: . ports: - "80:80" - "443:443" volumes: - ./:/var/www/test/ links: - fpm fpm: image: php:fpm ports: - "9000:9000" そしてDockerfile私はnginxのものに基づいてカスタムイメージを構築するために使用しました: FROM nginx # Change Nginx config here... RUN rm /etc/nginx/conf.d/default.conf ADD ./default.conf /etc/nginx/conf.d/ 最後に、これが私のカスタムNginx仮想ホスト構成です。 server { listen 80; server_name localhost; root /var/www/test; error_log /var/log/nginx/localhost.error.log; access_log …


8
DockerComposeはコンテナーを実行し続けます
docker-composeを使用してサービスを開始し、コンテナーを実行し続けて、「dockerinspect」を介してIPアドレスを取得できるようにします。ただし、コンテナは常に起動直後に終了します。 docker-compose.ymlに "command:[" sleep "、" 60 "]"などを追加しようとしましたが、 "command:..."の行を追加するたびに、 "docker-composeup"を呼び出すことができません。 「コンテナを開始できません.....システムエラー:値の先頭を探している無効な文字 'k'」というメッセージが表示されるので また、Dockerfile自体に「CMDsleep60」などを追加してみましたが、これらのコマンドが実行されていないようです。 コンテナを存続させたり、問題の1つを修正したりする簡単な方法はありますか? 編集:これが私が実行したい作成ファイルです: version: '2' services: my-test: image: ubuntu command: bash -c "while true; do echo hello; sleep 2; done" OS Xでdocker-composeでこれを開始すると正常に動作しますが、Ubuntu 16.04で同じことを試みると、上記のエラーメッセージが表示されます。 Dockerfileを使用してアプローチを試みると、Dockerfileは次のようになります。 FROM ubuntu:latest CMD ["sleep", "60"] 何もしていないようです 編集2:自分で修正する必要があります。Dockerfileとdocker-compose.ymlでも同じ問題であることがわかりました。Dockerfileに「CMD ...」を追加するか、「command ...」を追加するたびに作成ファイル、無効な文字で上記のエラーが発生します。両方のコマンドを削除すると、問題なく動作します。

1
DockerComposeを使用してファイルをコンテナーにコピーする
私が持っているDockerfile、私は罰金を作品コンテナに(内容の)既存のディレクトリをコピーする場所を: Dockerfile FROM php:7.0-apache COPY Frontend/ /var/www/html/aw3somevideo/ COPY Frontend/ /var/www/html/ RUN ls -al /var/www/html RUN chown -R www-data:www-data /var/www/html RUN chmod -R 755 /var/www/html しかし、私がdocker-compose.ymlファイルを使用するとき、ディレクトリだけがaw3somevideoあり、内部aw3somevideoには何もありません。 docker-compose.yml: php: build: php/ volumes: - ./Frontend/ :/var/www/html/ - ./Frontend/index.php :/var/www/html/ ports: - 8100:80 の機能がわからないのかもしれませんが、volumesその場合は、既存のファイルをdocker-compose.ymlファイル経由でコンテナにコピーする方法を教えてください。

3
docker-composeによって開始された実行中のコンテナーにリンクできません
Dockerコンテナーを使用してローカル開発環境をセットアップしています。docker-compose.ymlは次のようなものです version: '2' services: db: image: mongo:3 mq: image: rabbitmq:3 api: build: . image: my_app/api ports: - "3000:3000" links: - db - mq environment: - NODE_ENV=development エラーなしで起動します。そしてDockerは3つの実行中のコンテナをリストします docker-compose up -d docker ps e90e5a8b5d33 my_app/api "/usr/local/bin/node " 0.0.0.0:3000->3000/tcp my_app_api_1 42bfcd971b16 mongo:3 "/entrypoint.sh mongo" 27017/tcp my_app_db_1 a0685a816c47 rabbitmq:3 "/docker-entrypoint.s" 4369/tcp, 5671-5672/tcp, 25672/tcp …

17
Docker Networking-nginx:[emerg]ホストがアップストリームに見つかりません
最近、Docker1.9およびDocker-Compose1.5のネットワーク機能への移行を開始し、リンクの使用を置き換えました。 これまでのところ、リンクに関しては、nginxがdocker-composeを介して1つのグループ内の別のサーバーにあるphp5-fpmfastcgiサーバーに接続することに問題はありませんでした。新たにdocker-compose --x-networking up、php-fpmを実行すると、mongoコンテナとnginxコンテナが起動しますが、nginxはすぐに終了します。[emerg] 1#1: host not found in upstream "waapi_php_1" in /etc/nginx/conf.d/default.conf:16 ただし、phpコンテナとmongoコンテナの実行中(nginxが終了)にdocker-composeコマンドを再度実行すると、nginxが起動し、それ以降は正常に動作します。 これは私のdocker-compose.ymlファイルです: nginx: image: nginx ports: - "42080:80" volumes: - ./config/docker/nginx/default.conf:/etc/nginx/conf.d/default.conf:ro php: build: config/docker/php ports: - "42022:22" volumes: - .:/var/www/html env_file: config/docker/php/.env.development mongo: image: mongo ports: - "42017:27017" volumes: - /var/mongodata/wa-api:/data/db command: --smallfiles これはdefault.confnginxの私のものです: server { listen …

4
docker composeビルド単一コンテナー
Composeを使用してを実行するとdocker-compose build、すべてのコンテナが再構築されます。 > docker-compose build Building elasticsearch Step 1 : FROM elasticsearch:2.1 ---> a05cc7ed3f32 Step 2 : RUN /usr/share/elasticsearch/bin/plugin install analysis-phonetic ---> Using cache ---> ec07bbdb8a18 Successfully built ec07bbdb8a18 Building search Step 1 : FROM php:5.5.28-fpm ---> fcd24d1058c0 ... キャッシュを使用して再構築する場合でも、これには時間がかかります。だから私の質問は: 特定のコンテナを1つだけ再構築する方法はありますか?

7
Docker-Composeを使用する場合、Djangoデータベースの移行をどのように実行しますか?
Docker Django / PostgreSQLアプリを次のように設定しました DockerサイトのDjangoクイックスタートの指示に。 コマンドを使用して、初めてDjangoのmanage.py migrateを実行するとき sudo docker-compose run web python manage.py migrate期待どおりに動作します。データベースはDocker PostgreSQLコンテナー内に問題なく構築されています。 Djangoアプリ自体に加えられた変更も、保存した瞬間にDocker Djangoコンテナーに反映されます。それは素晴らしい! 私は、Djangoの中にモデルを変更し、モデルに一致するようにPostgresデータベースを更新しようとすると何の移行は、私が実行回数に関係なく起こりませんので、しかし、何も変更が検出されないmakemigrationsか、migrateもう一度を。 基本的に、Djangoモデルを変更するたびに、(を使用してsudo docker-compose rm)Dockerコンテナーを削除し、新しい移行でやり直す必要があります。 私はまだDockerの周りに頭を抱えようとしています、そしてそれがどのように機能するかについて理解していない恐ろしいことがたくさんありますが、これは私を狂わせています。移行しても私の変更が表示されないのはなぜですか?何が悪いのですか?

2
docker-compose start「エラー:開始するコンテナーがありません」
Docker Compose(Windows上のDocker Machineを使用)を使用して、Dockerコンテナーのグループを起動しようとしています。 私のdocker-compose.yml: version: '2' services: postgres: build: ./postgres environment: - POSTGRES_PASSWORD=mysecretpassword frontend: build: ./frontend ports: - "4567:4567" depends_on: - postgres backend: build: ./backend ports: - "5000:5000" depends_on: - postgres docker-compose build正常に実行されます。実行するdocker-compose startと、次の出力が得られます。 Starting postgres ... done Starting frontend ... done Starting backend ... done ERROR: No containers to …


2
Docker作成ファイルで$ドル記号をエスケープするにはどうすればよいですか?
docker-compose.ymlファイルを評価しようとすると、次のエラーをスローするYAMLスカラーがあります。 エラー:サービス「time_service」の「environment」オプションの補間形式が無効です:「$ {Time.now}」 YAML: --- version: '2' services: time_service: build: "." environment: TIME: "${Time.now}" 書き込まれたものと同じ文字列出力を維持しながら、docker-composeがそれを誤った文字列補間として解釈することを回避するにはどうすればよいですか?

2
docker-composeを介してDockerコンテナに静的IPを提供します
コンテナに静的IPアドレスを提供しようとしています。カスタムネットワークを作成する必要があることを理解しています。私はそれを作成し、ブリッジインターフェイスはホストマシン(Ubuntu 16.x)で起動しています。コンテナはこのサブネットからIPを取得しますが、私が提供した静的なIPは取得しません。 これが私のdocker-compose.ymlです: version: '2' services: mysql: container_name: mysql image: mysql:latest restart: always environment: - MYSQL_ROOT_PASSWORD=root ports: - "3306:3306" networks: - vpcbr apigw-tomcat: container_name: apigw-tomcat build: tomcat/. ports: - "8080:8080" - "8009:8009" networks: - vpcbr depends_on: - mysql networks: vpcbr: driver: bridge ipam: config: - subnet: 10.5.0.0/16 gateway: 10.5.0.1 aux_addresses: …

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