docker - 将 php docker 链接到托管 mysql

标签 docker docker-compose

我有以下 docker-compose.yml

web:
  image: nginx
  ports:
    - "80:80"
  volumes:
    - ./src:/var/www
    - ./src/vhost.conf:/etc/nginx/sites-enabled/vhost.conf
  links:
    - php
php:
  image: nmcteam/php56
  volumes:
    - ./src/php-fpm.conf:/etc/php5/fpm/php-fpm.conf
    - ./src:/var/www
  links:
    - db
db:
  image: sameersbn/mysql
  ports:
    - "3306:3306"
  volumes:
   - /var/lib/mysql
  environment:
   - DB_NAME=demoDb
   - DB_USER=demoUser
   - DB_PASS=demoPass

一切正常,但我想要将 php 链接到主机上安装的 mysql。有没有办法我可以做到这一点?

谢谢你。

最佳答案

您可以像文档中所说的那样链接 mysql 卷:http://github.com/sameersbn/docker-gitlab#internal-mysql-server .或者可以绑定(bind)套接字(见下面的评论)

或者您可以找到该 ip 并将其作为外部 mysqlserver 访问。默认网络模式是桥接,所以 ip 应该是可访问的。
请参阅“From inside of a Docker container, how do I connect to the localhost of the machine?”了解如何查找 IP

关于docker - 将 php docker 链接到托管 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34533061/

相关文章:

docker - Kubernetes无法从Artifactory中提取图像

我的 homestead docker 容器中缺少 Mysql 套接字

nginx - 带有粘性 session 的 docker-compose 规模

docker - 如何在阻塞端口的同时仅允许通过特定 URL 访问 MERN 项目中的 Docker 容器?

docker - Kubernetes - 如何制作简单的 Linux 容器镜像而无需永久运行应用程序

docker - 与 Docker 的跨容器通信

docker - 使用 Docker Compose 重新启动容器时丢失所有修改

docker - Docker内部的Docker中的卷?

node.js - docker Express 服务器之间的连接被拒绝

docker - 我如何在 docker 构建过程中传递参数或绕过它?