Gambar Docker Memperluas influxdb resmi dengan _file variabel lingkungan menjadi kompatibel dengan rahasia Docker
Gambar ini berperilaku persis seperti yang dijelaskan pada dokumentasi gambar induk. Satu -satunya perbedaan adalah bahwa untuk semua variabel lingkungan kata sandi ada variabel lingkungan password_file yang sesuai, yang digunakan untuk menentukan file untuk membaca nilai induk dari, jika belum diatur.
Deskripsi gambar orang tua di bawah ini.
InfluxDB adalah basis data seri waktu yang dibangun dari bawah ke atas untuk menangani beban penulisan dan permintaan yang tinggi. InfluxDB dimaksudkan untuk digunakan sebagai toko pendukung untuk setiap kasus penggunaan yang melibatkan sejumlah besar data waktu, termasuk pemantauan DevOps, metrik aplikasi, data sensor IoT, dan analitik real-time.
Dokumentasi InfluxDB
Gambar influxdb memperlihatkan volume bersama di bawah /var/lib/influxdb
, sehingga Anda dapat memasang direktori host ke titik itu untuk mengakses data kontainer yang ada. Doa khas wadah mungkin:
$ docker run -p 8086:8086
-v $PWD:/var/lib/influxdb
influxdb
Ubah $PWD
ke direktori tempat Anda ingin menyimpan data yang terkait dengan wadah influxdb.
Anda juga dapat memiliki kontrol Docker volume mountpoint dengan menggunakan volume bernama.
$ docker run -p 8086:8086
-v influxdb:/var/lib/influxdb
influxdb
Port berikut penting dan digunakan oleh InfluxDB.
Port API HTTP akan diekspos secara otomatis saat menggunakan docker run -P
.
Antarmuka Administrator tidak diekspos secara otomatis saat menggunakan docker run -P
dan dinonaktifkan secara default. Antarmuka adminStrator mensyaratkan bahwa browser web memiliki akses ke influxdb pada port yang sama di wadah seperti dari browser web. Karena -P
memperlihatkan port HTTP ke host pada port acak, antarmuka administrator tidak kompatibel dengan pengaturan ini.
Antarmuka administrator sudah usang pada 1.1.0 dan akan dihapus di 1.3.0.
Temukan lebih lanjut tentang titik akhir API & port di sini.
InfluxDB dapat dikonfigurasi dari file konfigurasi atau menggunakan variabel lingkungan. Untuk memasang file konfigurasi dan menggunakannya dengan server, Anda dapat menggunakan perintah ini:
Hasilkan file konfigurasi default:
$ docker run --rm influxdb influxd config > influxdb.conf
Ubah konfigurasi default, yang sekarang akan tersedia di bawah $PWD
. Kemudian mulailah wadah influxdb.
$ docker run -p 8086:8086
-v $PWD/influxdb.conf:/etc/influxdb/influxdb.conf:ro
influxdb -config /etc/influxdb/influxdb.conf
Ubah $PWD
ke direktori tempat Anda ingin menyimpan file konfigurasi.
Untuk variabel lingkungan, formatnya adalah INFLUXDB_$SECTION_$NAME
. Semua tanda hubung ( -
) diganti dengan garis bawah ( _
). Jika variabel tidak ada di bagian, maka hilangkan bagian itu.
Contoh:
INFLUXDB_REPORTING_DISABLED=true
INFLUXDB_META_DIR=/path/to/metadir
INFLUXDB_DATA_QUERY_LOG_ENABLED=false
Temukan lebih lanjut tentang mengonfigurasi influxdb di sini
InfluxDB mendukung protokol garis grafit, tetapi layanan dan port tidak diekspos secara default. Untuk menjalankan influxdb dengan dukungan grafit diaktifkan, Anda dapat menggunakan file konfigurasi atau mengatur variabel lingkungan yang sesuai. Jalankan influxdb dengan konfigurasi grafit default:
docker run -p 8086:8086 -p 2003:2003
-e INFLUXDB_GRAPHITE_ENABLED=true
influxdb
Lihat ReadMe di GitHub untuk dokumentasi yang lebih rinci untuk mengatur layanan grafit. Untuk memanfaatkan templat grafit, Anda harus menggunakan file konfigurasi dengan mengeluarkan file konfigurasi default menggunakan langkah -langkah di atas dan memodifikasi bagian [[graphite]]
.
Antarmuka administrator sudah usang pada 1.1.0 dan akan dihapus di 1.3.0. Itu dinonaktifkan secara default. Jika diperlukan, itu masih dapat diaktifkan dengan mengatur variabel lingkungan seperti di bawah ini:
docker run -p 8086:8086 -p 8083:8083
-e INFLUXDB_ADMIN_ENABLED=true
influxdb
Untuk menggunakan antarmuka administrator, baik HTTP API dan API antarmuka administrator harus diteruskan ke port yang sama.
Membuat DB bernama MyDB:
$ curl -G http://localhost:8086/query --data-urlencode " q=CREATE DATABASE mydb "
Memasukkan ke db:
$ curl -i -XPOST ' http://localhost:8086/write?db=mydb ' --data-binary ' cpu_load_short,host=server01,region=us-west value=0.64 1434055562000000000 '
Baca lebih lanjut tentang ini di dokumentasi resmi
Mulai wadah:
$ docker run --name=influxdb -d -p 8086:8086 influxdb
Jalankan klien masuk di wadah lain:
$ docker run --rm --link=influxdb -it influxdb influx -host influxdb
Saat ini, Anda tidak dapat menggunakan docker exec
untuk menjalankan klien masuk karena docker exec
tidak akan mengalokasikan TTY dengan benar. Ini karena bug saat ini di Docker yang dirinci dalam Docker/Docker#8755.
Gambar influxdb berisi beberapa fungsi tambahan untuk menginisialisasi database. Opsi -opsi ini tidak disarankan untuk produksi, tetapi cukup berguna saat menjalankan instance mandiri untuk pengujian.
Skrip inisialisasi basis data hanya akan dipanggil saat menjalankan influxd
. Itu tidak akan dieksekusi saat menjalankan program lain.
Gambar influxdb menggunakan beberapa variabel lingkungan untuk secara otomatis mengonfigurasi bagian -bagian tertentu dari server. Mereka dapat secara signifikan membantu Anda menggunakan gambar ini.
Secara otomatis menginisialisasi database dengan nama variabel lingkungan ini.
Mengaktifkan otentikasi. Entah ini harus diatur atau auth-enabled = true
harus diatur dalam file konfigurasi untuk opsi terkait otentikasi di bawah ini untuk berfungsi.
Nama pengguna admin yang akan dibuat. Jika ini tidak disetel, tidak ada pengguna admin yang dibuat.
Kata sandi untuk pengguna admin yang dikonfigurasi dengan INFLUXDB_ADMIN_USER
. Jika ini tidak disetel, kata sandi acak dihasilkan dan dicetak ke Standard Out.
Nama pengguna yang akan dibuat tanpa hak istimewa. Jika INFLUXDB_DB
diatur, pengguna ini akan diberikan izin baca dan tulis untuk database itu.
Kata sandi untuk pengguna yang dikonfigurasi dengan INFLUXDB_USER
. Jika ini tidak disetel, kata sandi acak dihasilkan dan dicetak ke Standard Out.
Nama pengguna yang akan dibuat dengan hak istimewa baca di INFLUXDB_DB
. Jika INFLUXDB_DB
tidak diatur, pengguna ini tidak akan memiliki izin yang diberikan.
Kata sandi untuk pengguna yang dikonfigurasi dengan INFLUXDB_READ_USER
. Jika ini tidak disetel, kata sandi acak dihasilkan dan dicetak ke Standard Out.
Nama pengguna yang akan dibuat dengan hak istimewa menulis di INFLUXDB_DB
. Jika INFLUXDB_DB
tidak diatur, pengguna ini tidak akan memiliki izin yang diberikan.
Kata sandi untuk pengguna yang dikonfigurasi dengan INFLUXDB_WRITE_USER
. Jika ini tidak disetel, kata sandi acak dihasilkan dan dicetak ke Standard Out.
Jika gambar Docker menemukan file apa pun dengan ekstensi .sh
atau .iql
di dalam folder /docker-entrypoint-initdb.d
, itu akan menjalankannya. Perintah yang mereka lakukan ditentukan oleh shell. Ini biasanya urutan abjad.
Untuk menginisialisasi database dan keluar secara manual, skrip /init-influxdb.sh
dapat digunakan secara langsung. Dibutuhkan parameter yang sama dengan perintah influxd run
. Sebagai contoh:
$ docker run --rm
-e INFLUXDB_DB=db0 -e INFLUXDB_ADMIN_ENABLED=true
-e INFLUXDB_ADMIN_USER=admin -e INFLUXDB_ADMIN_USER=supersecretpassword
-e INFLUXDB_USER=telegraf -e INFLUXDB_USER_PASSWORD=secretpassword
-v $PWD:/var/lib/influxdb
/init-influxdb.sh
Di atas akan membuat database db0
, membuat pengguna admin dengan kata sandi supersecretpassword
, kemudian membuat pengguna telegraf
dengan kata sandi rahasia telegraf Anda. Kemudian akan keluar dan meninggalkan file apa pun yang dibuat dalam volume yang Anda pasang.
Gambar influxdb
datang dalam banyak rasa, masing -masing dirancang untuk kasus penggunaan tertentu.
influxdb:<version>
Ini adalah gambar defacto. Jika Anda tidak yakin tentang apa kebutuhan Anda, Anda mungkin ingin menggunakan yang ini. Ini dirancang untuk digunakan baik sebagai wadah pelarian (pasang kode sumber Anda dan mulai wadah untuk memulai aplikasi Anda), serta basis untuk membangun gambar lain.
influxdb:alpine
Gambar ini didasarkan pada proyek Alpine Linux yang populer, tersedia di gambar resmi alpine
. Alpine Linux jauh lebih kecil daripada kebanyakan gambar basis distribusi (~ 5MB), dan dengan demikian mengarah ke banyak gambar yang lebih ramping secara umum.
Varian ini sangat dianjurkan ketika ukuran gambar akhir sekecil mungkin diinginkan. Peringatan utama yang perlu diperhatikan adalah bahwa ia menggunakan MUSL LIBC alih -alih GLIBC dan teman -teman, sehingga perangkat lunak tertentu dapat mengalami masalah tergantung pada kedalaman persyaratan LIBC mereka. Namun, sebagian besar perangkat lunak tidak memiliki masalah dengan ini, jadi varian ini biasanya merupakan pilihan yang sangat aman. Lihat utas komentar berita hacker ini untuk diskusi lebih lanjut tentang masalah yang mungkin muncul dan beberapa perbandingan pro/con menggunakan gambar berbasis alpine.
Untuk meminimalkan ukuran gambar, tidak umum untuk alat terkait tambahan (seperti git
atau bash
) untuk dimasukkan dalam gambar berbasis alpine. Menggunakan gambar ini sebagai basis, tambahkan hal -hal yang Anda butuhkan di DockerFile Anda sendiri (lihat deskripsi gambar alpine
untuk contoh cara menginstal paket jika Anda tidak terbiasa).
Lihat informasi lisensi untuk perangkat lunak yang terkandung dalam gambar ini.
Seperti halnya semua gambar Docker, ini kemungkinan juga berisi perangkat lunak lain yang mungkin berada di bawah lisensi lain (seperti bash, dll dari distribusi dasar, bersama dengan dependensi langsung atau tidak langsung dari perangkat lunak utama yang terkandung).
Beberapa informasi lisensi tambahan yang dapat dideteksi secara otomatis dapat ditemukan di direktori influxdb/
direktori repositori repo-info
.
Adapun penggunaan gambar yang telah dibangun sebelumnya, adalah tanggung jawab pengguna gambar untuk memastikan bahwa penggunaan gambar ini sesuai dengan lisensi yang relevan untuk semua perangkat lunak yang terkandung di dalamnya.