首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与docker上的mysql容器连接laravel

问与docker上的mysql容器连接laravel
EN

Stack Overflow用户
提问于 2019-03-31 20:44:14
回答 2查看 742关注 0票数 2

在Docker上我已经有了一个Laravel容器和容器MySQL,如何连接Docker上的MySQL容器和容器Laravel?

​

​

EN

回答 2

Stack Overflow用户

发布于 2019-03-31 21:10:05

这就是docker-compose的用途!

请查看此教程:https://docs.docker.com/compose/wordpress/

它正在尝试做类似的事情:将wordpress连接到mysql。关键是docker-compose.yml中定义的两个docker容器共享相同的网络-您可以使用它们的逻辑名称来引用每个容器。查看如何将WORDPRESS_DB_HOST环境变量设置为db:3306 -它将解析为docker网络中mysql容器的IP。

票数 0
EN

Stack Overflow用户

发布于 2019-03-31 21:26:00

基本上,所有容器都必须在同一网络中运行。

代码语言:javascript
复制
# create your network
$ docker network create laravel

# start your container and link it to your network
$ docker run -d --network="laravel" --name="mysql01" mysql:8.0

# after your mysql is up and running, connect your second and third container like this
$ docker run -d --network="laravel" --name="latihananakit_web" yourimage:yourtag
$ docker run -d --network="laravel" --name="latihananakit_app" yourimage:yourtag

我建议在这种情况下使用docker-compose,因为它使整个docker run-thing变得容易得多。

请参考此处:

https://docs.docker.com/compose/

https://github.com/bitnami/bitnami-docker-laravel/blob/master/docker-compose.yml

TL;DR:

这样创建您的docker-compose.yml (您可以根据需要更改环境变量或其他配置):

代码语言:javascript
复制
version: '2'

services:
  mariadb:
    image: 'bitnami/mariadb:latest'
    environment:
      - ALLOW_EMPTY_PASSWORD=yes
      - MARIADB_USER=my_user
      - MARIADB_DATABASE=my_database
      - MARIADB_PASSWORD=my_password

  myapp:
    tty: true
    image: bitnami/laravel:5-debian-9
    environment:
      - DB_HOST=mariadb
      - DB_USERNAME=my_user
      - DB_DATABASE=my_database
      - DB_PASSWORD=my_password
    depends_on:
      - mariadb
    ports:
      - 3000:3000
    volumes:
      - ./:/app

并通过在同一目录中执行docker-compose up -d来启动和运行所有内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55441028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档