Docker中的MySQL和卷

时间:2018-09-25 18:30:10

标签: mysql docker

我有一个在Docker环境中运行的应用程序。我尝试在docker-compose文件中配置docker卷,以在执行docker compose down -v时持久保存用MySqln编写的数据。

这是我的文件:

version: "2"
services:
  db:
    container_name: db-server
    image: mysql:5.8
    restart: always
    ports:
      - 3306:3306
    environment:
      MYSQL_ROOT_PASSWORD: p@$$w0rd
      MYSQL_DATABASE: apps
    volumes:
      - /home/john/myapp/volumes-sql:/var/lib/mysql
    networks:
      app_net:
        ipv4_address: 10.1.14.2
  back-end-java:
    container_name: web-server
    build:
      context: .
      dockerfile: Dockerfile-back
    restart: always
    image: web-server:$VERSION
    ports:
      - 8022:8443
    links:
      - db
    networks:
      app_net:
        ipv4_address: 10.1.14.3
networks:
  app_network:
    driver: bridge
    ipam:
      driver: default
      config:
      - subnet: 10.1.14.0/24
        gateway: 10.1.14.1

我在运行后收到此消息:docker logs db-serverchown: cannot read directory '/var/lib/mysql/': Operation not permitted

如何解决此问题?以及在运行docker rundocker up -d时如何使用该卷

谢谢

约翰。

1 个答案:

答案 0 :(得分:0)

/ home / john / myapp / volumes-sql上的权限与'/ var / lib / mysql /'??之间的任何关系

0 drwxrwxr-x。 2 john john 9 Sep 24 08:10 volume-sql