Here is my docker-compose
version: '2'
services:
  nginx:
    image: nginx:1.11.8-alpine
    ports:
      - "8081:80"
    volumes:
      - ./code:/usr/share/nginx/html
      - ./html:/myapp
      - ./site.conf:/etc/nginx/conf.d/site.conf
      - ./default.conf:/etc/nginx/conf.d/default.conf
      - ./error.log:/var/log/nginx/error.log
      - ./nginx.conf:/etc/nginx/nginx.conf
    links:
      - phpfpm
  phpfpm:
    image: php7-fpm:latest
    ports:
      - "9000:9000"
    volumes:
      -  ./code:/usr/share/nginx/html
    links:
      - db_mysql
  db_mysql:
    image: mysql:5.7.17
    volumes:
      - db_data:/var/lib/mysql
    # restart: no
    ports:
      - "3306:3306"
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: wp2017
      MYSQL_USER: wp
      MYSQL_PASSWORD: wp2017
volumes:
  db_data:
Here is how I build my own php7-fpm:lastest
FROM php:7.1-fpm-alpine
RUN docker-php-ext-install mysqli
I cannot connect to mysql container
$serverName = 'localhost';
$userName = 'wp';
$password = 'wp2017';
$dbName = 'wp2017';
$link = mysqli_connect($serverName, $userName, $password, $dbName);
if (mysqli_connect_errno()) {
   printf("Connect failed: %s\n", mysqli_connect_error());
  exit();
}
I always get error: " Warning: mysqli_connect(): (HY000/2002): No such file or directory in /usr/share/nginx/html/db.php on line 8 Connect failed: No such file or directory"
Where I run command sudo netstat -tulpn | grep :3306
I get this tcp6 0 0 :::3306 :::* LISTEN 15362/docker-proxy
Please help !
Change PHP script
$serverName = 'db_mysql';
It will work.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With