Automation Terraform pada Docker

Posted on

Terraform Logo

Sebelumnya saya pernah menulis artikel Instalasi Terraform pada Ubuntu, kali ini saya ingin coba mengintegrasikannya dengan Docker Services agar dapat membuat Container melalui Terraform. Yang diperlukan adalah sebagai berikut:

  • 1 VM untuk Terraform dengan IP 192.168.4.111
  • 1 VM untuk Docker dengan IP 192.168.4.222

Pada VM Docker

Install VM dengan basis Ubuntu 16.04 LTS kemudian ikuti perintah:

sudo su
apt update
apt-get install apt-transport-https ca-certificates gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
apt-key fingerprint 0EBFCD88

Untuk menginstall docker silakan masukan perintah:

add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
apt update
apt-get install docker-ce docker-ce-cli containerd.io

Expose API Docker dengan cara mengedit file /lib/systemd/system/docker.service dengan perintah:

vi /lib/systemd/system/docker.service

Find dan replace:

ExecStart=/usr/bin/dockerd -H fd://

Menjadi:

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2376 -H fd://

Restart Service Docker dengan perintah:

systemctl daemon-reload
systemctl restart docker

Pada VM Terraform

Install VM dengan basis Ubuntu 16.04 LTS kemudian lakukan instalasi Terraform sesuai dengan artikel Instalasi Terraform pada Ubuntu.

Buat folder docker untuk run container menggunakan Terraform:

mkdir /srv/docker/
cd /srv/docker/

Buat file provider.tf

vi provider.tf

Isi dengan:

provider "docker" {
host = "tcp://192.168.4.222:2376/"
}

Buat juga file container.tf

vi container.tf

Isi dengan:

resource "docker_image" "nginx" {
name = "nginx"
}

resource "docker_container" "nginx" {
name = "nginx-1"
image = "${docker_image.nginx.latest}"
}

Jalankan terraform untuk membuat container nginx sesuai dengan isi containter.tf diatas dengan perintah:

terraform init
terraform validate
terraform providers
terraform plan
terraform apply
terraform show

Jika sudah selesai, silakan cek pada docker melalui perintah:

docker images
docker ps -a

Jika berhasil, mestinya saat docker ps -a container running dengan lancar dan dapat diakses dengan baik. Adapun jika sudah tidak digunakan, kita bisa juga destroy dengan mudah dengan perintah:

terraform destroy

Note: Perintah destroy dilakukan pada folder yang berada konfigurasi .tf dalam hal ini /srv/docker/

Kita bisa melakukan kreasi container yang dimau melalui file container.tf, cukup disesuaikan dengan kebutuhan yang diinginkan saja.

Semoga bermanfaat..

Gravatar Image
Seorang warga negara Indonesia biasa. Pengguna MAC dan develop server Ubuntu & CentOS. Contact : admin [at] nugi.biz

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.