获取"拒绝连接"当连接由docker构建的mysql服务器时

时间:2018-05-12 05:23:11

标签: mysql docker

我用docker构建了php-apache和mysql容器。这是我的docker-compose.yml

voc_server:
  image: php:apache
  container_name: voc_server
  working_dir: /var/www/html
  ports:
    - "8080:80"
  volumes:
    - .:/var/www/html
  links:
    - voc_mysql
voc_mysql:
  image: mysql:5
  container_name: voc_mysql
  ports:
      - "3307:3306"
  environment:
    MYSQL_ROOT_PASSWORD: password

我运行了docker-compose,他们开始完美。我可以通过workbench访问mysql。这是我的PHP代码:

<?php
$servername = "127.0.0.1:3306";
$username = "root";
$password = "password";

// Create connection
$conn = new mysqli($servername, $username, $password);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
?>

我收到了这个错误

  

警告:mysqli :: __ construct():( HY000 / 2002):拒绝连接   第7行的/var/www/html/index.php       连接失败:连接被拒绝

有什么想法?我的问题可能是什么?

1 个答案:

答案 0 :(得分:0)

我相信你的代码中的端口号应该是3306而不是3307 127.0.0.1:3306