nomad docker volume 설정

By | 2021년 9월 16일
Table of Contents

nomad docker volume 설정

nomad 에서 docker volume 을 이용하는 방법은 두가지가 있습니다.

하나는 이미 존재하고 있는 host 파일을 이용하는 방법이고,
또 하나는 생성한 docker volume 을 이용하는 방법입니다.

공통설정

nomad client 설정파일에 아래 내용을 추가합니다.

plugin "docker" {
  config {
    volumes {
      enabled = true
    }
  }
}

host 파일 마운트

이미 존재하고 있는 host 파일을 이용하려면 아래 설정으로 충분합니다.

    task "jenkins" {
      driver = "docker"

      config {
        image = "jenkins/jenkins:lts"
        ports = ["jenkins_ui"]

        volumes = [
          # Docker Out of Docker
          "/var/run/docker.sock:/var/run/docker.sock"
        ]
      }
    }

docker volume 이용

도커에 의해 성생한 볼륨을 이용하기 위해서는 두단계가 필요합니다.

볼륨 생성

client {
  enabled = true

  host_volume "jenkins_home" {
    # add directory manually
    # sudo mkdir -p /opt/nomad-volumes/jenkins_home
    # sudo chown 1000:1000 /opt/nomad-volumes/jenkins_home
    path = "/opt/nomad-volumes/jenkins_home"
  }
}

job 에서 볼륨 마운트

job "jenkins" {
  datacenters = ["dc1"]

  group "jenkins" {
    count = 1

    volume "jenkins_home" {
      type   = "host"
      source = "jenkins_home"
    }

    task "jenkins" {
      driver = "docker"

      config {
        image = "jenkins/jenkins:lts"
        ports = ["jenkins_ui"]
      }

      volume_mount {
        volume      = "jenkins_home"
        destination = "/var/jenkins_home"
      }
    }
  }
}

답글 남기기