我有一个简单的docker设置使用php7和mysql,都来自docker hub。到目前为止设置还可以,一切都启动了,我可以访问我的应用程序。但我不能让mysql连接为我工作。我甚至登录到框中并尝试访问数据库,但它失败了。有人有什么想法吗?
搬运工-compose.yml
db:
restart: always
image: mysql/mysql-server:5.7
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_USER: myapp
MYSQL_PASSWORD: myapp
MYSQL_DATABASE: myapp
web:
restart: always
image: silintl/php7
command: php -S 0.0.0.0:8000 -t /app/web
links:
- db
ports:
- "8000:8000"
volumes:
- ../:/app
尝试访问db
[bash]marcobehnke@Marcos-MacBook-Pro-2 ~ $ docker exec -it docker_db_1 bash
[root@7eff3007bb11 /]# mysql --user=myapp --password=myapp --host=localhost --port=3306 myapp
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'myapp'@'localhost' (using password: YES)
[root@7eff3007bb11 /]#
我在这里缺少什么?
编辑:看一下我的github repo,这是我正在使用的确切配置:https://github.com/firegate666/docker-php7-mysql-postgres
答案 0 :(得分:0)
好像您正在使用wrong syntax。应该看起来像这样:
version: '2'
services:
db:
restart: always
image: mysql/mysql-server:5.7
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: "root"
MYSQL_USER: "myapp"
MYSQL_PASSWORD: "myapp"
MYSQL_DATABASE: "myapp"
# ...
答案 1 :(得分:0)
好的,我拿了一台不同的机器试过我的设置,开箱即用。我不知道为什么会这样,但问题显然是我的机器: - )