【Docker】名前付きボリュームをホスト側の任意のファイルパスに作成する方法
3775 ワード
はじめに
本記事は、プログラミング初学者、学習を進めていて疑問に思った点について調べた結果を備忘録も兼ねてまとめたものです。
そのため、記事の内容に誤りが含まれている可能性があります。ご容赦ください。
間違いを見つけた方は、お手数ですが、ご指摘いただけますと幸いです。
名前付きボリュームをホスト側の任意のファイルパスに作成する方法
docker-compose.ymlのトップレベルのvolumes
に以下のようにdriver_opts
を記述することで名前付きボリュームを任意のファイルパスに作成することができます。
docker-compose.yml
version: '${COMPOSE_VER}'
services:
api:
build:
context: .
dockerfile: ./docker/api/Dockerfile
command: bash -c "mkdir -p ./tmp/sockets && bundle exec puma -C config/puma.rb"
restart: on-failure
volumes:
- .:/myapp
- public-data:/myapp/public
- tmp-data:/myapp/tmp
environment:
RAILS_ENV: ${APP_ENV}
ports:
- "${API_PORT}:3000"
depends_on:
db:
condition: service_healthy
web:
build: ./docker/web
volumes:
- public-data:/myapp/public
- tmp-data:/myapp/tmp
ports:
- 80:80
depends_on:
- api
volumes:
mysql_data:
public-data:
driver_opts:
type: none
device: ${PWD}/public
o: bind
tmp-data:
driver_opts:
type: none
device: ${PWD}/tmp
o: bind
device
のファイルパスは絶対パスで記述する必要があります。
Author And Source
この問題について(【Docker】名前付きボリュームをホスト側の任意のファイルパスに作成する方法), 我々は、より多くの情報をここで見つけました https://qiita.com/P-man_Brown/items/6d6e870acc1720f04486著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .