308 文字
2 分
TerraformのDocker ProviderサンプルをM1 MacのRancher Desktopで動かす
結論としてはこちらのリポジトリにすべて書いてます。
最近Terraformを使ってみようと思いたち、まずはこちらのチュートリアル通りに進めていったのだけど、下記エラーが発生しました。
Error pinging Docker server: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running
まぁエラー内容そのままの通りなので、それならばということでdocker context ls
でsocketを確認してterraformで設定記載して終わりです。
普段はRancher Desktopを使ってM1 Mac上でDockerを使っていますので、RancherのDocker socketを設定してあげます(バージョンは1.8.1でした)。
ちなみに自分の環境だと下記の通りの出力でした。
NAME DESCRIPTION DOCKER ENDPOINT ERROR
default Current DOCKER_HOST based configuration unix:///var/run/docker.sock
rancher-desktop * Rancher Desktop moby context unix:///Users/XXXX/.rd/docker.sock
下記みたいな感じで、defaultの入力値としてunix:///var/run/docker.sock
がdocker sockを変数として入力できるようにしてあげて、
variable "docker_sock" {
type = string
description = "Apply when Docker socket path is not default"
default = "unix:///var/run/docker.sock"
}
provider "docker" {
host = var.docker_sock
}
下記みたいな感じで使用できます。
DOCKER_SOCK="docker_sock=unix:///Users/$USER/.rd/docker.sock"
terraform plan -var=$DOCKER_SOCK
terraform apply -var=$DOCKER_SOCK
terraform destroy -var=$DOCKER_SOCK
以上
TerraformのDocker ProviderサンプルをM1 MacのRancher Desktopで動かす
https://okojomemorandum.com/blog/learn-terraform-docker-container-with-rancher/