Saya ingin memulai layanan dengan docker-compose dan menjaga container tetap berjalan sehingga saya bisa mendapatkan alamat IP-nya melalui 'docker inspect'. Namun, kontainer selalu keluar segera setelah dinyalakan.
Saya mencoba menambahkan "perintah: [" tidur "," 60 "]" dan hal-hal lain ke docker-compose.yml tetapi setiap kali saya menambahkan baris dengan "perintah: ..." Saya tidak bisa memanggil "docker-compose up" karena saya akan mendapatkan pesan "Tidak dapat memulai penampung ..... Kesalahan sistem: karakter tidak valid 'k' mencari awal nilai"
Saya juga mencoba menambahkan "CMD sleep 60" dan yang lainnya ke Dockerfile itu sendiri tetapi perintah ini sepertinya tidak dijalankan.
Adakah cara mudah untuk menjaga agar wadah tetap hidup atau untuk memperbaiki salah satu masalah saya?
EDIT: Ini file Tulis yang ingin saya jalankan:
version: '2'
services:
my-test:
image: ubuntu
command: bash -c "while true; do echo hello; sleep 2; done"
Ini berfungsi dengan baik Jika saya memulai ini dengan docker-compose di bawah OS X, tetapi jika saya mencoba hal yang sama di Ubuntu 16.04 itu memberi saya pesan kesalahan di atas.
Jika saya mencoba pendekatan dengan Dockerfile, Dockerfile akan terlihat seperti ini:
FROM ubuntu:latest
CMD ["sleep", "60"]
Yang sepertinya tidak melakukan apa-apa
EDIT 2: Saya harus mengoreksi diri sendiri, ternyata masalahnya sama dengan Dockerfile dan docker-compose.yml: Setiap kali saya menambahkan "CMD ..." ke Dockerfile ATAU tambahkan "perintah ..." ke file tulis, saya mendapatkan kesalahan di atas dengan karakter tidak valid. Jika saya menghapus kedua perintah, ini bekerja dengan sempurna.