【发布时间】:2018-12-22 04:36:35
【问题描述】:
我尝试在 ubuntu 18.04 中使用 docker 运行 yii2 基本项目。这是我的 docker-compose.yml:
version: '2'
services:
php:
image: yiisoftware/yii2-php:7.1-apache
volumes:
- ~/projects/basic/.composer-docker/cache:/root/.composer/cache:delegated
- ./:/app:delegated
ports:
- 8000:80
links:
- mysql
mysql:
image: mysql:5.7
volumes:
- ~/projects/basic/.composer-docker/mysql:/var/lib/mysql
environment:
- "MYSQL_ROOT_PASSWORD=secret"
- "MYSQL_USER=app"
- "MYSQL_PASSWORD=secret"
- "MYSQL_DATABASE=app"
ports:
- '33061:3306'
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: phpmyadmin
restart: always
environment:
PMA_HOST: mysql
MYSQL_USERNAME: app
MYSQL_ROOT_PASSWORD: secret
ports:
- 8080:80
volumes:
- /sessions
links:
- 'mysql:mysql'
这是 config/db.php:
return [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=127.0.0.1;dbname=app',
'username' => 'app',
'password' => 'secret',
'charset' => 'utf8',
我使用与 yii2 高级版中相同的文件夹控制台/迁移。 当我运行命令 ./yii migrate 时,出现错误“Exception 'yii\db\Exception' with message 'SQLSTATE[HY000] [2002] Connection denied'”。在另一种情况下,当 host=mysql 出现错误“异常 'yii\db\Exception' 并带有消息 'SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known'”。 我做错了什么?
【问题讨论】:
标签: docker yii2 docker-compose yii2-basic-app