Docker compose can';t使用卷参数连接到mysql

Docker compose can';t使用卷参数连接到mysql,mysql,docker-compose,volumes,Mysql,Docker Compose,Volumes,这是我的docker-compose.yml version: '2' services: php: build: ./php-fpm volumes: - ./symfony:/var/www/symfony - ./php-fpm/php.ini:/usr/local/etc/php/php.ini # - ./assets/vocabulary-gc-project.json:/v

这是我的docker-compose.yml

version: '2'
services:
    php:
        build: ./php-fpm
        volumes:
            - ./symfony:/var/www/symfony
            - ./php-fpm/php.ini:/usr/local/etc/php/php.ini
#            - ./assets/vocabulary-gc-project.json:/var/www/vocabulary-gc-project.json
        depends_on:
            - mysql
    web:
        image: nginx:latest
        ports:
            - "8888:80"
        volumes:
            - ./symfony:/var/www/symfony
            - ./nginx/symfony.conf:/etc/nginx/conf.d/default.conf
        depends_on:
            - php
    myadmin:
        image: phpmyadmin/phpmyadmin
        container_name: phpmyadmin
        ports:
            - "8080:80"
        environment:
            - PMA_ARBITRARY=1
            - PMA_HOST=mysql
            - UPLOAD_SIZE=1G
        restart: always
        volumes:
            - ./phpmyadmin/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
        depends_on:
            - mysql
    mysql:
        image: mysql:5.7
        environment:
            MYSQL_ROOT_PASSWORD: root
        ports:
            - "3333:3306"
#        volumes:
#            - "./db:/var/lib/mysql"
当我取消注释最后两行以将数据库保存在repertory“db”中时,我无法连接到mysql,但没有这两行,一切都很好

如何保存我的数据库

谢谢

您可以查看:

mysql:
    image: mysql:5.7
    command: --character-set-server=utf8 --collation-server=utf8_general_ci --default-authentication-plugin=mysql_native_password
    volumes:
      - ./db:/var/lib/mysql
    ports:
      - 3306:3306
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: database_name
      MYSQL_USER: user
      MYSQL_PASSWORD: user_password
这是我所有项目的工作。

您可以查看:

mysql:
    image: mysql:5.7
    command: --character-set-server=utf8 --collation-server=utf8_general_ci --default-authentication-plugin=mysql_native_password
    volumes:
      - ./db:/var/lib/mysql
    ports:
      - 3306:3306
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: database_name
      MYSQL_USER: user
      MYSQL_PASSWORD: user_password

这是我所有项目的工作。

当我使用你的代码时,我有以下错误:
mysqli\u real\u connect():php\u network\u getaddresses:getaddrinfo失败:名称解析暂时失败mysqli\u real\u connect():(HY000/2002):php\u network\u getaddresses:getaddrinfo失败:名称解析暂时失败
@wehtam如何连接到数据库?@wehtam您可以用根/密码检查端口i使用phpmyadmin连接到数据库。对于端口,当我没有“volumes”参数时一切正常,当我使用您的代码时,我可以连接到我的数据库,我有以下错误:
mysqli\u real\u connect():php\u network\u getaddresses:getaddrinfo失败:名称解析暂时失败mysqli\u real\u connect():(HY000/2002):php\u network\u getaddresses:getaddrinfo失败:名称解析暂时失败
@wehtam如何连接到数据库?@wehtam您可以用根/密码检查端口i使用phpmyadmin连接到数据库。对于端口,当我没有“卷”参数时一切正常,我可以连接到我的数据库