Prasyarat
Pertama, kita perlu menginstal docker-compose di mesin kita hanya dengan menjalankan docker-compose -v
. Jika belum terinstal di mesin kita, kita perlu menginstalnya terlebih dahulu.
Buat Compose File
Selanjutnya, kita perlu membuat docker-compose.yml
file baru dan mengisinya dengan setup wordpress dan mysql. Nama file sebenarnya bisa apa saja, tetapi jika kita menggunakan nama lain, kita perlu menentukan file saat menjalankan perintah compose.
Versi: "3"
layanan:
wordpress:
container_name: my_wordpress
image: wordpress
port:
- "8080: 80"
link:
- mysql
lingkungan:
WORDPRESS_DB_HOST: mysql
WORDPRESS_DB_USER: root
WORDPRESS_DB_PASSWORD: "12345"
WORDPRESS_DB_NAME: wordpress
mysql:
container_name: my_mysql
image: "mysql:5.7"
volume:
- ./.mysql:/var/lib/mysql
lingkungan:
MYSQL_DATABASE: wordpress
MYSQL_ROOT_PASSWORD: "12345"
Ada banyak hal yang terjadi pada file itu, mari kita bedah satu per satu. Kolom pertama adalah version
yang memberi tahu Compose format file apa yang kita gunakan. Bidang tertentu mungkin tidak dikenali oleh versi Compose tertentu, jadi periksa versi mana yang didukung oleh Compose yang diinstal pada mesin Anda .
Bidang kedua kami adalah services
yang menggambarkan layanan apa yang ingin kami jalankan. Dalam hal ini, kita akan menjalankan wadah wordpress dan mysql. Di setiap layanan, kami memiliki container_name
bidang opsional yang akan digunakan sebagai nama wadah. Jika kita tidak menentukan nama container, Compose akan membuatnya secara otomatis.
Selanjutnya, kami memiliki image
bidang yang memberi tahu Compose gambar buruh pelabuhan mana yang ingin kami gunakan. Karena kami ingin wordpress dapat diakses di luar wadah, kami membuka pemetaan port dari 8080
host kami ke 80
port wadah dengan mendefinisikannya di ports
bidang.
Kami belajar di artikel sebelumnya bahwa kami perlu menghubungkan wadah wordpress dan mysql agar mereka dapat berkomunikasi satu sama lain. Dalam hal ini, kami biasa links
melakukannya dengan hanya menentukan wadah lain yang ingin kami hubungkan dengan layanan ini.
Kami menggunakan environment
bidang untuk mendaftar semua variabel lingkungan yang perlu diatur di setiap wadah. Terakhir, dalam layanan mysql, kami memasang volume ke dalamnya di volume
lapangan. Kami menautkan .mysql
folder di Host ke /var/lib/mysql
wadah mysql sehingga data basis data dapat bertahan bahkan jika kami mematikan wadah. Jika kita belum memiliki .mysql
folder di host, Docker akan membuatnya untuk kita.
Menjalankan Compose
Untuk menjalankan layanan, kita hanya perlu menjalankan satu perintah. Perhatikan bahwa -d
flag akan membuat layanan berjalan di latar belakang.
$ docker-compose up -d
Sedikit catatan, kita perlu menentukan nama file compose jika kita menggunakan nama yang tidak standar, misalnya some-compose.yml
.
$ docker-compose up -f some-compose.yml -d
Meskipun, kita menjalankan container secara deklaratif, kita masih dapat menggunakan docker
perintah untuk melakukan operasi pada container ini. Misalnya, jika kita ingin masuk ke dalam database, kita dapat menggunakan perintah yang sama seperti sebelumnya.
$ docker exec -it my_mysql mysql -u root -p
Untuk mematikan container ini, kita tidak perlu menghapusnya satu per satu. Kita cukup menjalankan:
$ docker-compose down
Dengan cara ini, kita dapat menghidupkan dan mematikan pengaturan dengan satu perintah. Keuntungan lain dari ini adalah bahwa file penulisan dapat dipindahkan ke komputer lain dan kami akan menjalankan pengaturan yang sama di dalamnya. Ini dapat memudahkan pengembangan dalam tim serta penerapan ke mesin pengujian atau produksi.
0 komentar:
Posting Komentar