我有一个在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-server
:chown: cannot read directory '/var/lib/mysql/': Operation not permitted
如何解决此问题?以及在运行docker run
或docker up -d
时如何使用该卷
谢谢
约翰。
答案 0 :(得分:0)
/ home / john / myapp / volumes-sql上的权限与'/ var / lib / mysql /'??之间的任何关系
0 drwxrwxr-x。 2 john john 9 Sep 24 08:10 volume-sql