为什么我可以在Ubuntu中从主机运行“artisan migrate”而不是在Windows中运行

时间:2018-02-11 14:20:24

标签: php mysql docker docker-compose

问题 我在 Ubuntu 16.04 Windows 10专业版中安装了docker。我使用docker-compose和Laravel框架,奇怪的是我可以在Ubuntu中运行“php artisan migrate”而没有同样的docker-compose.yml问题,但在Windows中返回消息“找不到驱动程序pdo”。我是从主人那里做的,而不是容器。进入容器我没有遇到麻烦。

请求 我想知道为什么在Windows中出现这个问题,因为两者中的“docker-compose.yml”文件相同,可能有些机构可以帮助我。

我粘贴了yml文件

由于


version: '2'
services:
  # **docker-compose.yml**

  # The Application
  app:
    build:
      context: ./
      dockerfile: app.dockerfile
    working_dir: /var/www

    volumes:
      - ./:/var/www
    environment:
      - "DB_PORT=3306"
      - "DB_HOST=database"

  # The Web Server
  web:
    build:
      context: ./
      dockerfile: web.dockerfile
    working_dir: /var/www
    volumes_from:
      - app
    ports:
      - 8080:80

  # The Database
  database:
    image: mysql:5.7
    volumes:
      - dbdata:/var/lib/mysql
    restart: always
    environment:
      - "MYSQL_ROOT_PASSWORD=secret"
      - "MYSQL_DATABASE=motordb"
      - "MYSQL_USER=pedro"
      - "MYSQL_PASSWORD=secret"
    ports:
        - "33061:3306"
  # The PhpMyadmin
  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    links:
      - database:mysql
    ports:
      - 8181:80
    environment:
      PMA_USER: root
      PMA_PASSWORD: secret
      PMA_HOST: mysql

volumes:
  dbdata:

这里是Laravel evinronment文件“.env”

APP_NAME=Motor
APP_ENV=local
APP_KEY=base64:0S0uQqTfYj02dsednm0S5iAPyNuF8uxWF50nX4opUKI=
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=33061
DB_DATABASE=motordb
DB_USERNAME=pedro
DB_PASSWORD=secret

BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=

1 个答案:

答案 0 :(得分:0)

我知道,因为在Ubuntu中有一个php本地配置与服务器容器php相同。现在我在Windows 10专业版中更改了php.ini,它的工作原理就是证明。

Running migrations in docker container from windows host