亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

docker 組合多個項目

docker 組合多個項目

PHP
忽然笑 2022-07-16 18:25:57
我想為同一網絡下的多個項目設置本地 DOCKER 環境。我想擁有將創建 Nginx 代理和 PHP 容器的主要 docker-compose 配置文件。還有許多帶有自己的 Nginx 的子 docker-compose 文件。我希望所有子 Nginx 容器都監聽主 PHP 容器。但由于某種原因,子 Nginx 容器因錯誤而失敗host not found in upstream "app-php" in /etc/nginx/vhost.d/site.cong25主要docker-compose:version: '3.5'services:  app-nginx_proxy:    build: ./nginx-proxy    image: app/nginx-proxy:latest    container_name: app-nginx_proxy    ports:      - "80:80"    volumes:      - /var/run/docker.sock:/tmp/docker.sock:ro    networks:      - appnetwork  app-php:    image: app/php:latest    container_name: app-php    build:      context: ./php-fpm      dockerfile: Dockerfile    expose:      - 9000    volumes:      - app_volume:/var/www/    networks:      - appnetworkvolumes:  app_volume:    driver: local    driver_opts:      type: bind      device: "$PWD/../services"      o: bindnetworks:  appnetwork:    driver: bridge和孩子docker-compose:version: '3.5'services:  app-admin-nginx:    build: ./nginx    image: app-admin/nginx:latest    container_name: app-admin-nginx    volumes:      - app_admin_volume:/var/www/app-admin    networks:      appnetwork:        aliases:          - app-admin.v2.local    environment:      - VIRTUAL_HOST=app-admin.v2.localvolumes:  app_admin_volume:    driver: local    driver_opts:      type: bind      device: "$PWD/../services/app-admin"      o: bindnetworks:  appnetwork:    external: true還有,site.conf:server {    listen 80;    server_name app-admin.v2.local;    root /var/www/app-admin/web;    index index.html index.htm index.php;    charset utf-8;    location / {        try_files $uri $uri/ /index.php?$query_string;    }    location = /favicon.ico { access_log off; log_not_found off; }    location = /robots.txt  { access_log off; log_not_found off; }    error_log /var/log/nginx/abboom_admin_error.log;    access_log /var/log/nginx/abboom_admin_access.log;    error_page 404 /index.php;如果我將所有配置移動到單個docker-compose文件中,一切正常,但使用單個文件并不靈活,因為我想為開發人員添加僅運行他們需要的應用程序而不是我們擁有的所有應用程序的能力
查看完整描述

1 回答

?
千萬里不及你

TA貢獻1784條經驗 獲得超9個贊

您的主nginx容器依賴于app-php服務。你需要先app-php開始nginx。

您還需要確保這兩個服務都在同一個項目中運行,以便它們使用相同的網絡。您可以使用-pdocker-compose 選項。

https://docs.docker.com/compose/reference/overview/

用法:docker-compose [-f ...] [options] [COMMAND] [ARGS...]
docker-compose -h|--help

選項:-f,--file FILE 指定一個替代的撰寫文件(默認:docker-compose.yml)
-p,--project-name NAME 指定一個替代的項目名稱(默認:目錄名稱)

您還可以使用自定義網絡從同一網絡中的不同撰寫文件啟動服務。

https://docs.docker.com/compose/networking/#specify-custom-networks


查看完整回答
反對 回復 2022-07-16
  • 1 回答
  • 0 關注
  • 154 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號