🐷

自作DockerイメージをTerraform経由で起動する

に公開

これは何?

自作DockerイメージをTerraform経由で起動する方法を記載します。自作Dockerイメージは、事前にDocker Hubにアップロード済みです。

使用コード

Terraformの設定ファイルとなります。

main.tf
terraform {
  required_providers {
    docker = {
      source  = "kreuzwerker/docker"
      version = ">= 3.0.0"
    }
  }
}

provider "docker" {
  host = "unix:///var/run/docker.sock"
}

resource "docker_image" "sinatra_app" {
  name         = "1s22s1/sinatra_app:latest"
  keep_locally = true
}

resource "docker_container" "sinatra_app" {
  image = docker_image.sinatra_app.image_id
  name  = "sinatra_app"
  ports {
    internal = 4567
    external = 4567
  }
}

実行手順

実行手順は、次の通りです。

$ terraform init // 初期化処理を行う
$ terraform plan // 構築プランを表示する
$ terraform apply // コンテナを立ち上げる

アプリの起動後 http://127.0.0.1:4567/ へアクセスすると意図通りのレスポンスが返ってきました。

Discussion