GNU/Linux >> Belajar Linux >  >> Panels >> Docker

Cara menggunakan Docker pada NAS Synology

Hari ini kita akan melihat cara menggunakan Docker pada NAS Synology.

Mayoritas penjelasan akan dilakukan melalui video di atas , tetapi penting untuk mendokumentasikan poin-poin tertentu. Implementasi Docker pada NAS Synology sangat kuat saat Anda memahaminya, tetapi sedikit membingungkan saat Anda memulainya. Sementara saya membuat tutorial khusus yang akan memandu Anda melalui penerapan wadah tertentu, tujuan saya adalah memberi Anda pengetahuan yang dibutuhkan untuk menerapkan wadah apa pun yang Anda inginkan.

1. Pemasangan Volume – Cara Menggunakan Synology NAS Docker

Saat membuat wadah Docker, data penting harus dipetakan ke folder lokal. Ini diselesaikan di Volume bagian, di mana folder lokal dipetakan ke folder kontainer. Saat wadah berjalan, lokasi folder wadah di Jalur Gunung di bawah ini ditulis ke File/Folder yang dimasukkan di NAS Synology Anda. Setiap data yang dimodifikasi pada folder NAS Synology lokal akan ditulis ke folder container.

Penting untuk digarisbawahi bahwa Anda tidak dapat memasang folder apa pun yang Anda inginkan. Saat Anda mengunduh gambar dari registri, ikon kecil (ditampilkan di bawah) akan membawa Anda ke dokumentasi untuk wadah itu. Anda dapat mencari dokumentasi tersebut untuk melihat folder apa yang dapat dipasang.

Setelah Anda menavigasi ke dokumentasi, Anda harus mencari halaman untuk melihat volume apa yang dapat dipasang. Sayangnya, semua dokumentasi berbeda, jadi Anda harus menelusurinya untuk menemukan informasi volume. Menggunakan Pi-Hole sebagai contoh, contoh file Docker Compose disediakan. Di bawah volume bagian, Anda dapat menemukan dua volume yang dapat dipasang.

Menggunakan ./etc-pihole/:/etc/pihole/ sebagai contoh, dll-pihole adalah folder lokal dan /etc/pihole adalah folder kontainer. Anda dapat dengan mudah menerjemahkan ini ke NAS Synology dengan membuat subfolder di docker folder dan memasang lokasi folder itu ke folder wadah. Menggunakan tangkapan layar di bawah, saya membuat folder bernama pi-hole dan nama sub-folder etc-pihole . Folder tersebut berada di dalam folder buruh pelabuhan dan dipasang ke /etc/pihole penampung map. Saat penampung dimulai, isi /etc/pihole  . wadah folder akan ditulis ke etc-pihole NAS Synology saya map. Jika Anda tertarik untuk mencadangkan penampung, folder yang Anda pasang untuk setiap penampung menyimpan semua data pribadi Anda. Ini adalah folder penting yang harus dicadangkan. Selebihnya hanyalah konfigurasi yang dapat dibuat pada instalasi NAS atau Docker yang terpisah.

Bagian selanjutnya ini sedikit rumit – Anda dapat menimpa file tertentu di penampung dengan membuat versi lokal dari file itu dan memilih jalur yang tepat di mana file itu ada di penampung. Contohnya adalah resolv.conf file pada tangkapan layar di bawah ini. Saat container berjalan, file resolv.conf pada container akan diganti dengan isi file resolv.conf pada Synology NAS . Untuk mengulangi, jika Anda ingin memperbarui file di penampung, buat file lokal di NAS Synology Anda dan petakan file itu ke file internal penampung.

2. Antarmuka Jaringan Macvlan &Bridge

Ada situasi di mana wadah buruh pelabuhan akan menggunakan port tertentu (80/443 misalnya) dan antarmuka jaringan Host sudah menggunakan port tersebut untuk hal lain. Ketika ini terjadi, konflik port akan menghentikan container agar tidak berfungsi dengan baik. Dalam situasi seperti ini, Anda memiliki dua cara utama untuk memperbaiki masalah:

  1. Ubah port lokal sehingga Anda menggunakan sesuatu yang berbeda. Misalnya, jika wadah Docker ingin menggunakan port 80, ubah Port Lokal menjadi sesuatu yang berbeda, seperti 8080 seperti yang ditunjukkan di bawah ini. Untuk mengakses wadah Docker, Anda kemudian akan menggunakan alamat IP NAS Synology dan port lokal (http://[SYNOLOGY_NAS_IP]:8080).

2. Buat antarmuka jaringan macvlan dan jaringan jembatan. Antarmuka jaringan macvlan akan menghindari semua konflik port saat Anda menentukan alamat IP unik yang akan digunakan oleh wadah yang Anda buat. Ini berarti Anda akan mengakses wadah itu menggunakan alamat IP yang sama sekali berbeda dari NAS Synology Anda. Secara default, host Anda (Synology NAS) tidak akan dapat berkomunikasi dengan container Anda. Untuk itu diperlukan jaringan bridge agar host (Synology NAS) dan container dapat berkomunikasi. Agar jelas, jika NAS Synology perlu berkomunikasi dengan wadah, Anda akan menggunakan alamat IP jaringan jembatan dan BUKAN alamat IP macvlan.

2.1 Cara Membuat Antarmuka Jaringan Macvlan &Bridge

1. SSH ke NAS Synology Anda menggunakan alat SSH favorit Anda.

2. Pertama, kita perlu menentukan antarmuka jaringan apa yang saat ini ada (pada NAS Synology Anda) dan catat nama adaptornya. Untuk melakukannya, jalankan perintah di bawah ini dan catat nama antarmuka jaringan yang memiliki alamat IP NAS Synology Anda (dalam contoh ini, milik saya adalah eth0).

ifconfig

3. Selanjutnya, Anda perlu menjalankan perintah di bawah ini sambil mengganti subnet yang benar (sebagian besar adalah 192.168.1.0/24 secara default). Anda juga harus memilih alamat IP yang ingin Anda gunakan yang saat ini tidak digunakan. Saya akan menggunakan 192.168.1.198. CATATAN :ph_network akan menjadi nama jaringan (Anda dapat menggantinya sesuka Anda).

sudo docker network create -d macvlan -o parent=eth0 --subnet=192.168.1.0/24 --gateway=192.168.1.1 --ip-range=192.168.1.198/32 ph_network

Jaringan kami sekarang dibuat. Kami kemudian dapat keluar dari sesi SSH kami dan menonaktifkannya di DSM (jika Anda tidak akan menggunakannya). Jika Anda menonaktifkannya dan membuat aturan firewall untuknya, Anda juga harus menonaktifkan aturan firewall.

4. Selanjutnya, kita perlu membuat jaringan jembatan. Inilah yang memungkinkan host (NAS) kami berkomunikasi dengan container kami. Buka Docker dan navigasikan ke Jaringan bagian. Pilih Tambah dan masukkan subnet yang saat ini tidak digunakan. Alamat IP jembatan yang saya buat adalah 192.168.10.2. CATATAN: ph_bridge akan menjadi nama jaringan – Anda dapat menggantinya dengan nama yang Anda inginkan.

7. Jaringan baru kami sekarang telah dibuat. Kami kemudian dapat keluar dari sesi SSH kami dan menonaktifkannya di DSM (jika Anda tidak akan menggunakannya). Jika Anda menonaktifkannya dan membuat aturan firewall untuknya, Anda juga harus menonaktifkan aturan firewall.

8. Saat Anda membuat penampung, hapus jaringan jembatan dan tambahkan dua jaringan (ph_network dan ph_bridge, tetapi nama Anda mungkin berbeda) ke penampung.

Wadah sekarang akan menggunakan jaringan yang benar! Anda akan menghindari konflik port yang akan terjadi, memiliki alamat IP unik untuk container, dan dapat berkomunikasi antara host (Synology NAS) dan container menggunakan jaringan bridge!

3. Variabel Lingkungan

Secara default, banyak container Docker memiliki variabel lingkungan yang dapat Anda ubah untuk mengubah pengaturan container. Tidak ada variabel lingkungan standar di seluruh wadah dan sementara beberapa berbagi nama variabel, selalu disarankan untuk melihat dokumentasi dan menentukan variabel lingkungan mana yang ingin Anda gunakan. Wadah akan menjadi standar dengan variabel tertentu, tetapi Anda memiliki opsi untuk mengubahnya atau menambahkan yang baru sebelum penampung dibuat.

Ini adalah contoh detail variabel lingkungan Pi-Hole yang tercantum dalam dokumentasi.

Dalam wadah Docker di NAS Synology Anda, Lingkungan bagian adalah tempat Anda dapat menambahkan, menghapus, atau mengubah variabel lingkungan.

4. Cara Mengakses Container melalui Command-Line Interface (CLI)

Ada situasi tertentu di mana Anda perlu atau ingin mengakses file container. Baik Anda perlu memodifikasi sesuatu (dengan memasang volume file) atau melihat strukturnya, ada cara untuk melakukannya di NAS Synology, tetapi harus dilakukan melalui SSH.

1. Mulai penampung Anda! Jika penampung tidak dimulai, Anda tidak akan dapat mengakses penampung!

2. Pastikan Anda dapat SSH ke NAS Synology Anda. Buka Panel Kontrol , pilih Terminal &SNMP , dan Aktifkan SSH service. Jika Anda menggunakan Firewall Synology, pastikan Anda mengizinkan lalu lintas port 22 . Saya membuat video tentang cara SSH ke NAS Synology Anda jika Anda memiliki masalah.

3. Jalankan perintah di bawah ini untuk membuat daftar container yang sedang berjalan. Salin ID Penampung.

sudo docker container ls

4. Jalankan perintah di bawah ini dan ganti container ID ditemukan di atas.

sudo docker exec -it CONTAINER_ID bash

5. Sekarang Anda akan terhubung sebagai pengguna root untuk wadah!

5. Docker Compose – Synology NAS

Ini mungkin mengejutkan bagi sebagian orang, tetapi Anda dapat menggunakan Docker Compose segera setelah Docker diinstal pada NAS Synology. Bagi siapa saja yang tidak tahu, Docker Compose memungkinkan Anda membuat container dari file konfigurasi YAML dengan satu perintah. Semuanya dijalankan melalui antarmuka baris perintah (CLI) dan beberapa pengguna merasa lebih mudah. Jika Anda akan menggunakan ini, Anda mungkin ingin memperbarui Docker Compose karena ini adalah versi yang sedikit ketinggalan zaman.

Beberapa manfaat Docker Compose di NAS Synology:

  • Semuanya dikelola melalui antarmuka baris perintah (CLI). Jika Anda merasa nyaman dengan CLI, kemungkinan besar Anda akan merasa jauh lebih mudah daripada mengonfigurasi container secara manual di GUI Synology.
  • Docker Compose adalah sistem agnostik, artinya file konfigurasi dan folder data dapat ditransfer ke sistem lain yang menjalankan Docker Compose dan akan berfungsi seperti yang diharapkan. Ini adalah perbedaan mencolok dari GUI Docker Synology, karena Anda dapat mencadangkan data penampung yang penting, tetapi Anda tidak dapat memindahkannya ke sistem operasi yang berbeda dengan mudah.

Beberapa kelemahan Docker Compose pada NAS Synology:

  • Semuanya dilakukan melalui antarmuka baris perintah (CLI). Jika Anda tidak nyaman dengan CLI, mungkin lebih mudah bagi Anda untuk mengelola semuanya di GUI.
  • Karena file Docker Compose menampung semua konfigurasi, Anda perlu memastikan bahwa file ini disetel dengan sempurna atau Anda akan menghapus/membuat ulang container secara teratur untuk menguji dan memastikan semuanya berfungsi seperti yang diharapkan.

5.1 Cara Membuat Kontainer menggunakan Docker Compose

1. Pindahkan docker-compose.yaml file yang Anda buat ke folder container yang akan Anda buat.

2. Pastikan Anda dapat SSH ke NAS Synology Anda. Buka Panel Kontrol , pilih Terminal &SNMP , dan Aktifkan SSH service. Jika Anda menggunakan Firewall Synology, pastikan Anda mengizinkan lalu lintas port 22 . Saya membuat video tentang cara SSH ke NAS Synology Anda jika Anda memiliki masalah.

3. Navigasikan ke buruh pelabuhan  lokasi folder di NAS Synology Anda dan subfolder untuk wadah yang akan Anda buat. Bagi kebanyakan orang, folder akan disimpan di volume1, tetapi jika Anda menggunakan beberapa volume, itu bisa menjadi sesuatu yang berbeda.

cd /volume1/docker/[conatiner_folder]

4. Setelah mengonfirmasi bahwa docker-compose.yaml file terletak di folder saat ini, jalankan perintah di bawah ini untuk membuat wadah. Wadah sekarang akan dimulai!

sudo docker-compose up --detach

6. Kesimpulan – Cara Menggunakan Docker pada NAS Synology

Ada banyak kontainer Docker berbeda yang dapat Anda buat di NAS Synology. Saya berharap video yang disediakan menjelaskan semuanya dengan cara yang mudah dipahami, tetapi penting untuk menyoroti cara kerja GUI Docker sehingga Anda dapat menginstal wadah apa pun yang Anda inginkan. Prosesnya akan sama untuk semua container dan semoga menunjukkan kepada Anda cara menggunakan Docker di NAS Synology!

Seperti biasa, jika Anda memiliki pertanyaan, silakan tinggalkan di komentar!


Docker

Cara Menghentikan Kontainer Docker

  1. Menjelaskan Volume Docker Dengan Contoh

  2. Cara Menyebarkan Aplikasi dengan Rancher

  3. Bekerja dengan Gambar Docker dari baris perintah

Bagaimana Menghubungkan ke Localhost Dalam Wadah Docker

  1. Cara Membangun Server Dev Pribadi di Pi Raspberry $5

  2. Cara Membersihkan dan Menghapus Gambar Docker

  3. Cara menggunakan Docker pada NAS Synology

Menyebarkan EFK Stack dengan Docker

  1. Menginstal Docker dengan Benar di Ubuntu [Panduan Pemula]

  2. Cara Mengedit Kode di Wadah Docker Dengan Kode Visual Studio

  3. Buat Proxy Terbalik NGINX di Docker dan Pelajari 1 Keterampilan Baru!