Google cloud platform 如何更改docker组装装载卷的位置?

Google cloud platform 如何更改docker组装装载卷的位置?,google-cloud-platform,docker-compose,Google Cloud Platform,Docker Compose,我有一个docker-compose.yml文件,我正试图在谷歌云容器优化操作系统()中运行它。这是我的docker-compose.yml文件: version: '3' services: client: build: ./client volumes: - ./client:/usr/src/app ports: - "4200:4200" - "9876:9876" links: - api co

我有一个docker-compose.yml文件,我正试图在谷歌云容器优化操作系统()中运行它。这是我的docker-compose.yml文件:

version: '3'
services:
  client:
    build: ./client
    volumes:
      - ./client:/usr/src/app
    ports:
      - "4200:4200"
      - "9876:9876"
    links:
      - api
    command: bash -c "yarn --pure-lockfile && yarn start"
  sidekiq:
    build: .
    command: bundle exec sidekiq
    volumes:
      - .:/api
    depends_on:
      - db
      - redis
      - api
  redis:
    image: redis
    ports:
      - "6379:6379"
  db:
    image: postgres
    ports:
      - "5433:5432"
  api:
    build: .
    command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'"
    volumes:
      - .:/myapp
    ports:
      - "3000:3000"
    depends_on:
      - db
当我运行
docker compose up
时,我最终得到错误:

无法启动服务api:创建装载源路径“/rootfs/home/jeremy/my repo”时出错:mkdir/rootfs:只读文件系统


进一步阅读,似乎
/rootfs
被锁定(),只有少数路径是可写的。我想将我所有的卷装载到这些目录中的一个,如
/home
,有什么建议吗?是否可以在默认情况下将所有卷装载到
/home/xxxxxx
,而不必更改docker-compose.yml文件,例如将标志传递给
docker compose up

我也有同样的问题。你最后是如何摆脱这个错误的?我的docker-compose.yml文件位于/home/myusername/中。我在docker-compose.yml中指定了一些卷,例如:
/redis data:/redis data
,根据,我应该能够写入/home目录。所以我想知道为什么我仍然会出现错误:
mkdir/rootfs:read-only file system
?@user2350644我没有设法解决这个问题-我不得不在最后更改我的docker-compose.yml文件以将其装载到另一个路径。对我来说,当我简单地为卷指定完整路径时,它最终起到了作用。以前面的示例为例,我将volume命令更改为:
/home/myusername/redis data:/redis data
。这样,我的服务启动时不会出现任何错误。但您仍然需要修改docker-compose.yml文件,对吗?我试图在不修改它的情况下构建。是的,我必须更改docker-compose.yml文件。但对我来说没关系,我也有同样的问题。你最后是如何摆脱这个错误的?我的docker-compose.yml文件位于/home/myusername/中。我在docker-compose.yml中指定了一些卷,例如:
/redis data:/redis data
,根据,我应该能够写入/home目录。所以我想知道为什么我仍然会出现错误:
mkdir/rootfs:read-only file system
?@user2350644我没有设法解决这个问题-我不得不在最后更改我的docker-compose.yml文件以将其装载到另一个路径。对我来说,当我简单地为卷指定完整路径时,它最终起到了作用。以前面的示例为例,我将volume命令更改为:
/home/myusername/redis data:/redis data
。这样,我的服务启动时不会出现任何错误。但您仍然需要修改docker-compose.yml文件,对吗?我试图在不修改它的情况下构建。是的,我必须更改docker-compose.yml文件。但对我来说没关系。