J'essaie d'exécuter une petite application docker-composer à l'intérieur d'un nœud Google Cloud Compute Engine optimisé pour le conteneur, mais je suis coincé lorsqu'il essaie de monter des volumes pendant un docker-compose up
:Exécution d'un docker-composer à l'intérieur d'un Google Cloud Engine
Creating lightning_redis_1 ...
Creating lightning_db_1 ...
Creating lightning_redis_1
Creating lightning_db_1 ... done
Creating lightning_api_1 ...
Creating lightning_api_1 ... error
ERROR: for lightning_api_1 Cannot start service api: error while creating mount source path '/rootfs/home/jeremy/lightning': mkdir /rootfs: read-only file sys
tem
ERROR: for api Cannot start service api: error while creating mount source path '/rootfs/home/jeremy/lightning': mkdir /rootfs: read-only file system
Encountered errors while bringing up the project.
[email protected] ~/lightning $
Mon fichier docker-compose.yml ressemble à ceci:
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
Je ne veux pas avoir à changer quoi que ce soit dans le fichier docker-compose.yml - Je préférerais être en mesure de résoudre ce problème en exécutant des commandes à l'intérieur de la VM elle-même, ou dans la façon dont j'ai mis la VM en place. La raison en est que ce n'est pas mon code et je ne peux pas changer le fichier docker-compose.yml facilement, et tout ce que j'ai à faire est de l'exécuter pendant une courte période et d'exécuter quelques commandes docker-composer à l'intérieur de la VM.
Salut Tarun, merci pour votre réponse. Je cours déjà cette commande exacte - j'ai suivi le tutoriel de Google sur docker-composer. – JeremyKirkham
Possibilité de préparer les montages uniquement en ajoutant ': ro' dans le fichier de composition? Donc, le problème peut être testé –
Malheureusement, je n'ai pas accès en écriture au fichier docker-compose.yml – JeremyKirkham