docker-compose内mysql 挂载数据库目录,启动时mysql容器自动退出

  • Post author:
  • Post category:mysql


2019-05-06


问题现象

使用docker-compose部署web+mysql架构网站,出现docker-compose up -d启动之后,mysql容器自动退出现象

docker-compose.yml

version: '2' 

services:

    dzzoffice:
       image: cheggwpt/php7.2-nginx
       ports: 
          - "80:80"
       volumes:
          - "/mnt/dzzoffice:/app"
       links:
          - db
 
    db:
       image: centos/mysql-57-centos7
       environment:
          - MYSQL_USER=xxx
          - MYSQL_PASSWORD=xxx
          - MYSQL_DATABASE=xxx
       volumes:
          - "/mnt/mysql/data:/var/lib/mysql/data"

解决方案:

真正的问题所在其实就是在服务器上的volume目录/mnt/mysql/data和容器里目录/var/lib/mysql/data拥有者不一样导致的,那么如何查看拥有者,需要使用如下几条指令

查看容器中/var/lib/mysql的所有者

[root@gitlab dzzoffice]# docker run -ti --rm --entrypoint="/bin/bash" centos/mysql-57-centos7 -c "ls -la /var/lib/mysql"
total 12
drwxrwxr-x 1 mysql root 4096 Apr  3 07:29