2017-02-20 90 views
0

我建立了一個創建nginx,php,mysql和phpmyadmin的撰寫文件。Docker沒有MySQL連接到Nginx

一切都在爲自己工作。 PHPmyAdmin可以與mysql容器交談。 Nginx可以與php容器交談。

但似乎nginx或php不能夠與mysql交談。當執行像

mysql_connect('localhost','florian','pw') 

東西它給回:

Uncaught Error: Call to undefined function mysql_connect()

這裏是我的搬運工,compose.yml

php: 
    build: php-docker/. 
    container_name: php 
    ports: 
     - "9000:9000" 
    volumes: 
     - /var/www/:/var/www/ 

nginx: 
    build: nginx-docker/. 
    container_name: nginx 
    links: 
     - php 
    ports: 
     - "80:80" 

mysql: 
    build: mysql-docker/. 
    container_name: mysql 
    volumes: 
     - /var/mysql:/var/lib/mysql 
    environment: 
     MYSQL_ROOT_PASSWORD: pw 
     MYSQL_USER: florian 
     MYSQL_PASSWORD: pw 
     MYSQL_DATABASE: db 


    phpmyadmin: 
    build: phpmyadmin/. 
    links: 
    - mysql:db 
    ports: 
    - 1234:80 
    container_name: phpmyadmin 
    environment: 
    PMA_ARBITRARY: 1 
    PMA_USERNAME: florian 
    PMA_PASSWORD: pw 
    MYSQL_ROOT_PASSWORD: pw 
    restart: always 
+1

您使用的是哪個版本的PHP? Mysql擴展已從php7中刪除。使用PDO或mysqli – frz3993

+0

你能從你的主機訪問MySQL嗎? – apokryfos

+2

如果您的MySQL實例在其他容器中運行,則無法連接到本地主機。首先,如果您不使用默認網絡,則需要在Docker網絡上連接兩個容器。現在,您可以使用容器名稱(在本例中爲mysql)或IP連接到MySQL容器。 –

回答