docker compose 期间出错:构建路径不存在、不可访问或不是有效的 URL

use*_*217 5 docker docker-compose

phpstorm 在解析docker-compose.yml文件时发誓:

Error while parsing "/home/victor/PhpstormProjects/cpalife-back/docker-compose.yml"
Process `docker-compose config` failed. build path /home/victor/PhpstormProjects/tickets/docker/php-fpm either does not exist, is not accessible, or is not a valid URL.
Run Code Online (Sandbox Code Playgroud)
version: '3.4'

networks:
  ppticket:
    ipam:
      config:
        - subnet: 172.46.0.0/16

services:
  nginx:
    image: nginx:1.14.0-alpine
    container_name: tt_nginx
    ports:
      - 80:80
      - 443:443
    networks:
      ppticket:
        ipv4_address: 172.46.0.2
    volumes:
      - ./:/var/www
      - ./docker/logs/nginx:/var/log/nginx
      - ./docker/nginx/nginx.conf:/etc/nginx/nginx.conf
      - ./docker/nginx/default.conf:/etc/nginx/conf.d/config.template:ro
    environment:
      NGINX_HOST: ${BASE_DOMAIN}
    cap_add:
      - SYS_TIME
    command: /bin/sh -c "envsubst '$$NGINX_HOST' < /etc/nginx/conf.d/config.template > /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'"

  #PHP
  php:
    build: ./docker/php
    container_name: cpa_php
    expose:
      - 9000
    networks:
      ppticket:
        ipv4_address: 172.46.0.3
    volumes:
      - ./:/var/www
      - ./docker/logs/php:/var/log/php
      - ./docker/php/php.ini:/etc/php/php.ini:ro
      - ./docker/php/www.conf:/usr/local/etc/php-fpm.d/www.conf:ro
    environment:
      XDEBUG_CONFIG: "remote_host=172.46.0.0 remote_enable=1"
      PHP_IDE_CONFIG: "serverName=Docker"
    cap_add:
      - SYS_TIME
    depends_on:
      - mysql
    restart: always
  #MYSQL
  mysql:
    image: percona:5.7.23
    container_name: cpa_mysql
    volumes:
      - ./docker/data/mysql:/var/lib/mysql
      - ./docker/logs/mysql:/var/log/mysql
    networks:
      ppticket:
        ipv4_address: 172.46.0.4
    expose:
      - 3306
    ports:
      - 127.0.0.1:3306:3306
    environment:
      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
      MYSQL_DATABASE: ${MYSQL_DB}
      MYSQL_USER: ${MYSQL_USER}
      MYSQL_PASSWORD: ${MYSQL_PASSWORD}
    cap_add:
      - SYS_TIME
    restart: always
    command: "mysqld --collation-server=utf8_general_ci --character-set-server=utf8 --max_allowed_packet=3M"
Run Code Online (Sandbox Code Playgroud)

小智 10

当 docker-compose.yml 的目录与 docker 文件的目录不同时,就会出现此问题。

  1. 确保 doker-compose.yml 中给出的路径位于同一目录内

如果您使用的是基于 Linux 的系统,请通过“pwd”检查路径

移动目录

“mv /路径/到/源/路径/到/目标”


小智 6

我在 Windows 上构建 docker 图像。要解决此问题,您将使用在 Docker-compose.yml 的构建路径中指定的 Dockerfile。因此,请检查 Dockerfile 的目录。希望这可以帮助 在此处输入图片说明