MENU
  • VPS(レンタルサーバ)比較
  • ITエンジニアの転職
  • IT技術入門(Engineers.LOG)
カテゴリー
  • IT関連 (623)
    • Bootstrap (2)
    • クラウド (4)
    • サーバー技術 (185)
    • ストレージ (7)
      • NetApp (7)
    • ネットワーク技術 (91)
      • Cisco (36)
      • Juniper (18)
      • 負荷分散装置 (17)
    • パソコン関連 (92)
      • MAC (25)
      • Windows (54)
    • プログラミング (154)
      • Ansible (11)
      • C言語 (23)
      • Python (111)
        • Django (20)
    • 仮想化 (88)
      • Docker (63)
      • VMware (23)
  • VPS (200)
    • ABLENET VPS (16)
    • Amazon Lightsail(VPS) (2)
    • ConoHaVPS (37)
    • mixhostVPS (4)
    • WebARENAIndigo (16)
    • XServerVPS (34)
    • お名前.com VPS (12)
    • さくらのVPS (24)
    • カゴヤクラウドVPS (13)
    • シンVPS (7)
  • レンタルサーバー (56)
    • エックスサーバー (38)
  • 光回線 (8)
  • 技術スキルアップ開発・学習 (7)
    • Envader (2)
    • RareTECH (2)
    • Udemy (3)
もう現役20年超えましたー。経験値ならだれにも負けないエンジニア技術ブログ
インフラエンジニアの技術LOG
  • VPS(レンタルサーバ)比較
  • ITエンジニアの転職
  • IT技術入門(Engineers.LOG)
インフラエンジニアの技術LOG
  • VPS(レンタルサーバ)比較
  • ITエンジニアの転職
  • IT技術入門(Engineers.LOG)
  1. ホーム
  2. IT関連
  3. 仮想化
  4. Docker
  5. 「docker-compose」で任意のvolumeを作成・マウントする方法

「docker-compose」で任意のvolumeを作成・マウントする方法

2020 5/29
Docker
2020年4月25日2020年5月29日

Dockerコンテナ作成時にvolumeを永続化したい、また任意のボリュームを作成する方法を前回まとめました。

あわせて読みたい
【Docker】コンテナのvolumeを作成・マウント指定する方法 Dockerコンテナを作成する際に、書くコンテナではデータを保存するボリュームが作成されます。 以下ではコンテナのボリュームを表示するコマンド結果ですが、ボリューム...

今回は、「docker-compose」を利用してボリュームを作成、マウントするコードをまとめました。

作成環境は「CentOS8」となります。

「docker-compose」のvolume作成方法

Dockerのvolumesはあくまで共有になります。

以下では「postgreSQL」コンテナ上で、ホストディレクトリ直下の「db-data」ディレクトリと、「postgresSQL」コンテナ側の「/var/lib/postgresql/data」にマウントします。

これを「docker-compose」で実施します。

$ cat docker-compose.yml
version: '3'
 
services:
  db:
    image: postgres
    ports:
            - "5432:5432"
    environment:
            POSTGRES_PASSWORD: postgres
    volumes:
            - ./db-data:/var/lib/postgresql/data
  web:
    build: .
    command: python manage.py runserver 0.0.0.0:8000
    volumes:
      - .:/code
    ports:
      - "8000:8000"
    depends_on:
      - db
volumes:
    db-data:        
$ 

「docker-compose」でコンテナ作成

上記で、「docker-compose」を作成したら、プロジェクトを作成します。

$ docker-compose run web django-admin startproject composeexample .

正常に作成されると以下で「db-data」のボリュームが作成されていることが確認できます。

$ ll
total 44
-rw-r--r--  1 root             root  174 Apr 22 19:53 Dockerfile
drwxr-xr-x  3 root             root 4096 Apr 23 13:58 composeexample
drwx------ 19 systemd-coredump root 4096 Apr 26 12:10 db-data
-rw-r--r--  1 root             root  393 Apr 26 12:09 docker-compose.yml
-rwxr-xr-x  1 root             root  634 Apr 23 13:53 manage.py
-rw-r--r--  1 root             root   25 Apr 12 16:59 requirements.txt
$ 

「db-data」内のデータがpostgresqlのデータが共有されていることが確認できます。

$ ll db-data/
total 124
-rw------- 1 systemd-coredump input     3 Apr 26 12:04 PG_VERSION
drwx------ 5 systemd-coredump input  4096 Apr 26 12:04 base
drwx------ 2 systemd-coredump input  4096 Apr 26 12:10 global
drwx------ 2 systemd-coredump input  4096 Apr 26 12:04 pg_commit_ts
drwx------ 2 systemd-coredump input  4096 Apr 26 12:04 pg_dynshmem
-rw------- 1 systemd-coredump input  4535 Apr 26 12:04 pg_hba.conf
-rw------- 1 systemd-coredump input  1636 Apr 26 12:04 pg_ident.conf
drwx------ 4 systemd-coredump input  4096 Apr 26 12:15 pg_logical
drwx------ 4 systemd-coredump input  4096 Apr 26 12:04 pg_multixact
drwx------ 2 systemd-coredump input  4096 Apr 26 12:10 pg_notify
drwx------ 2 systemd-coredump input  4096 Apr 26 12:04 pg_replslot
drwx------ 2 systemd-coredump input  4096 Apr 26 12:04 pg_serial
drwx------ 2 systemd-coredump input  4096 Apr 26 12:04 pg_snapshots
drwx------ 2 systemd-coredump input  4096 Apr 26 12:10 pg_stat
drwx------ 2 systemd-coredump input  4096 Apr 26 12:17 pg_stat_tmp
drwx------ 2 systemd-coredump input  4096 Apr 26 12:04 pg_subtrans
drwx------ 2 systemd-coredump input  4096 Apr 26 12:04 pg_tblspc
drwx------ 2 systemd-coredump input  4096 Apr 26 12:04 pg_twophase
drwx------ 3 systemd-coredump input  4096 Apr 26 12:04 pg_wal
drwx------ 2 systemd-coredump input  4096 Apr 26 12:04 pg_xact
-rw------- 1 systemd-coredump input    88 Apr 26 12:04 postgresql.auto.conf
-rw------- 1 systemd-coredump input 26588 Apr 26 12:04 postgresql.conf
-rw------- 1 systemd-coredump input    36 Apr 26 12:10 postmaster.opts
-rw------- 1 systemd-coredump input    94 Apr 26 12:10 postmaster.pid
$ 

以下で、「docker-compose」を起動します。

$ docker-compose up

dockerのボリュームに任意のボリュームが作成されたことが確認できます。

$ docker volume ls
DRIVER              VOLUME NAME
local               django_db-data

Dockerで任意のボリュームを作成・マウントする手順は以上となります。

エンジニアスキルをアップする勉強法

ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。

あわせて読みたい
現役エンジニアがおすすめするVPSレンタルサーバ比較(高速SSD限定) 格安VPS比較(2025年最新版)

Docker
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする コメントをキャンセル

email confirm*

post date*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)



検索
カテゴリー
新着記事
  • XServerVPS アニメ風 男の子 プログラミングをしている VPSを利用している 楽しそうにしている
    XServerVPSで証明書(SSL)を取得する方法
    2025年3月24日
    XServerVPS
  • レンタルサーバ アニメ風 女の子 楽しんでパソコンをしている 目がキラキラ
    WordPressがレンタルサーバよりVPSで利用する方がおすすめの理由
    2025年3月19日
    VPS
  • VPS レンタルサーバー アニメ風 女の子 プログラミングをしている VPSを利用している 楽しそうにしている
    VPSとクラウドの違いとは?初心者向けにわかりやすく解説
    2025年3月5日
    VPS
  • シンVPS アニメ風 女の子 パソコン プログラミングをしている VPSを利用している 楽しそうにしている
    シンVPSはWindows serverを利用できない。その理由と利用できるOSは?
    2025年3月4日
    シンVPS
  • シンVPS アニメ風 女の子 パソコン プログラミングをしている VPSを利用している 楽しそうにしている
    シンVPSでゲームを利用する環境はあるのか
    2025年3月4日
    シンVPS
  • シンVPS アニメ風 女の子 パソコン プログラミングをしている VPSを利用している 楽しそうにしている
    シンVPSのサイトの表示速度は他社に比べて早いのか?
    2025年3月4日
    シンVPS
目次
目次