【问题标题】:How to execute PHP artisan on Docker PHP container如何在 Docker PHP 容器上执行 PHP artisan
【发布时间】:2021-11-21 13:53:36
【问题描述】:

我在Windows 10 机器上使用Docker-composeLaravel 项目设置了Docker 环境:

version: '3'

networks:
  laravel:

services:
  nginx:
    image: nginx:stable-alpine
    container_name : nginx
    ports:
      - "8088:80"
    volumes:
      - ./src:/var/www/html
      - ./nginx/default.conf:/etc/nginx/conf.d/default.conf
    depends_on:
      - php
      - mysql
    networks:
      - laravel

  mysql:
    image : mysql:5.7.22
    container_name: mysql
    restart: unless-stopped
    tty: true
    ports:
      - "4306:3306"
    volumes:
      - ./mysql:/var/lib/mysql
    environment:
      MYSQL_DATABASE: laravel
      MYSQL_USER: admin
      MYSQL_PASSWORD: password
      MYSQL_ROOT_PASSWORD: password
      SERVICE_TAGS: dev
      SERVICE_NAME: mysql
    networks:
      - laravel
  
  php:
    build:
      context: .
      dockerfile: Dockerfile
    container_name: php
    volumes: 
      - ./src:/var/www/html
    ports:
      - "9000:9000"
    networks:
      - laravel

我还创建了一个DockerFile

FROM php:8.0-fpm-alpine
RUN docker-php-ext-install pdo pdo_mysql

一切正常。但是,我很难理解如何运行artisan。根据我在网上看到的情况,我应该运行docker-compose exec php php /var/www/html/artisan ...。但我从Docker 收到这条消息:

`Could not open input file: C:/Users/lharr/AppData/Local/Programs/Git/var/www/html/artisan` 

这是有道理的,因为这条路径不存在。但是为什么 Docker 会转到这个特定的存储库 C:/Users/lharr/AppData/Local/Programs/Git/Docker-compose 中定义的卷不应该创建 /var/www/html/artisan 存储库吗?如何找出PHP 的存储位置以及如何在此容器内正确执行artisan 命令?

【问题讨论】:

  • 您是否尝试过将命令包装在" 中,例如docker exec php "php /var/www/html/artisan ..."
  • @Spirit 结果相同。
  • 另一种选择是连接到容器并在其中执行命令:docker exec -it php sh

标签: php laravel docker docker-compose


【解决方案1】:

事实证明,这个问题的解决方案非常简单:在执行命令时无需指定artisan 的完整路径。意思是,代替docker-compose exec php php /var/www/html/artisan ...docker-compose exec php php artisan 就足够了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 2022-06-14
    • 2019-12-29
    • 2017-10-01
    • 2017-02-19
    • 2021-05-17
    • 2021-09-06
    相关资源
    最近更新 更多