Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Mysql已在Docker容器上退出_Php_Mysql_Nginx_Docker_Docker Compose - Fatal编程技术网

Php Mysql已在Docker容器上退出

Php Mysql已在Docker容器上退出,php,mysql,nginx,docker,docker-compose,Php,Mysql,Nginx,Docker,Docker Compose,我想用Docker在MacOS上做一个web开发平台。我安装了nginx和php7fpm容器,它们正在运行并相互通信。但安装mysql容器后,mysql容器退出。我不知道它为什么退出 这是docker ps-a输出: 2955d2d5c392 nginx "/sbin/my_init" 38 seconds ago Up 36 seconds 0.0.0.0:8080->80/tcp do

我想用Docker在MacOS上做一个web开发平台。我安装了nginx和php7fpm容器,它们正在运行并相互通信。但安装mysql容器后,mysql容器退出。我不知道它为什么退出

这是docker ps-a输出:

2955d2d5c392        nginx               "/sbin/my_init"          38 seconds ago      Up 36 seconds               0.0.0.0:8080->80/tcp   dockertutorial_web_1
ec3c16795f05        php:7-fpm           "docker-php-entrypoin"   38 seconds ago      Up 37 seconds               9000/tcp               dockertutorial_php_1
835e91ba927a        mysql:latest        "docker-entrypoint.sh"   38 seconds ago      Exited (0) 37 seconds ago                          dockertutorial_mysql_1
如您所见,mysql已退出

这是我的docker-compose.yml文件:

web:
  image: nginx
  ports:
    - "8080:80"
  volumes:
    - ./src/public:/var/www/public
    - ./src/vhost.conf:/etc/nginx/sites-enabled/vhost.conf
  links:
    - php


php:
    image: php:7-fpm
    volumes:
      - ./src/public:/var/www/public
    links:
      - mysql

mysql:
  image: mysql:latest
  ports:
    - "3306:3306"
  volumes:
   - /var/lib/mysql
  command: "true"
  environment:
        MYSQL_ROOT_PASSWORD: secret
        MYSQL_DATABASE: project
        MYSQL_USER: project
        MYSQL_PASSWORD: project

有什么建议可以解决吗

您正在用
true
覆盖
MySQL
映像的
命令,该命令将代替
mysqld
运行

mysql
服务中删除
命令:“true”
,它将启动
mysqld

请参阅此Dockerfile以获取参考


您正在用
true
覆盖
MySQL
映像的
命令,该命令将代替
mysqld
运行

mysql
服务中删除
命令:“true”
,它将启动
mysqld

请参阅此Dockerfile以获取参考