Saat ini kami sedang menjalankan aplikasi pada wadah buruh pelabuhan tunggal, aplikasi ini membutuhkan semua jenis data sensitif untuk dikirimkan sebagai variabel lingkungan,
Saya menempatkan mereka di perintah jalankan sehingga mereka tidak berakhir di gambar dan kemudian di repositori, namun saya berakhir dengan perintah jalankan sangat tidak aman,
Sekarang, saya mengerti bahwa ada rahasia buruh pelabuhan, bagaimana saya bisa menggunakannya tanpa menggunakan cluster? atau adakah cara lain untuk mengamankan data ini?
Salam Hormat,
security
docker
docker-swarm
Juan Sebastian
sumber
sumber
Jawaban:
Anda tidak bisa ... Itu tidak mendukung rahasia tanpa Swarm. Kecuali jika '' mungkin '' Anda '' Berkerumun '' hanya menggunakan satu simpul.
Solusi lainnya adalah, saya pikir menggunakan perangkat lunak kubah pihak ketiga seperti ini:
https://www.vaultproject.io/
Tetapi kemudian, untuk menggunakan rahasia dalam wadah Anda dari Vault, Anda perlu membaca dokumen tersebut.
Semoga ini membawa Anda ke jalan yang benar untuk memulai.
sumber
build-args
tidak termasuk dalam gambar akhir, tetapi hanya dapat diakses selama waktu pembuatan gambar. Solusi yang cocok adalah menulis rahasia ke file di host (dengan izin yang sesuai, tentu saja) kemudian volume me-mount mereka ke dalam wadah buruh pelabuhan Anda. Aplikasi Anda di dalam wadah kemudian dapat membaca rahasia dari file-file ituYa , Anda dapat menggunakan rahasia jika Anda menggunakan file penulisan . (Anda tidak perlu menjalankan gerombolan).
Anda menggunakan file penulisan dengan docker-compose : ada dokumentasi untuk "rahasia" di file docker-compose.yml .
Saya beralih ke komposisi buruh pelabuhan karena saya ingin menggunakan rahasia. Saya senang saya lakukan, tampaknya jauh lebih bersih. Setiap layanan memetakan ke sebuah wadah. Dan jika Anda ingin beralih ke menjalankan kawanan sebagai gantinya, Anda pada dasarnya sudah ada di sana.
Catatan: Rahasia tidak dimuat ke dalam lingkungan penampung, mereka dipasang ke / run / rahasia /
Berikut ini sebuah contoh:
1) Struktur Proyek:
2) konten docker-compose.yml:
3) konten super_duper_secret.txt:
4) Jalankan perintah ini dari root proyek untuk melihat bahwa kontainer memang memiliki akses ke rahasia Anda, (Docker harus berjalan dan komposer docker terpasang):
Anda harus melihat wadah Anda menampilkan rahasia Anda.
sumber
docker-compose
menggunakan rahasia? Dokumentasi dan pemahaman saya tentang implementasi menunjukkan bahwa rahasia tidak akan dikonfigurasi dalam wadah.docker-compose.yml
pada satu node); ketika saya memulai wadah/run
hanya berisinginx.pid
dan tidak ada yangMounts
ditunjukkan olehdocker inspect $container
.