@ Tidak, mengapa? Path relatif ok di perintah lain init.sh. Saya akan coba besok.
clemtoy
Untuk mengatasi masalah saya, saya menggunakan docker exec -d my_command setelah membangun ...
clemtoy
Bisakah Anda jelaskan apa yang ingin Anda lakukan lebih banyak? Apakah ini proses latar belakang yang perlu Anda jalankan pada waktu pembuatan gambar atau untuk berjalan di dalam wadah? Apakah skrip init Anda keluar setelah menjalankan tugas latar belakang?
Matt
Jawaban:
0
Ide pertama saya adalah membuat layanan di dalam wadah alih-alih menjalankannya nohup atau &, jalankan sebagai layanan sistem dan Anda tidak perlu menanganinya di init.sh.
Tapi ini bukan pendekatan buruh pelabuhan "nyata". Jika Anda membutuhkan lebih dari 1 layanan untuk dijalankan, pisahkan mereka ke wadah yang berbeda (1 kontainer - 1 layanan) dan kombinasikan semuanya dengan solusi komposisi buruh pelabuhan.
Saya memiliki masalah serupa dan sesuatu seperti yang berikut membantu saya.
RUN nohup bash -c "scripts/init.sh &" && sleep 4
Dalam banyak kasus server yang Anda mulai belum sepenuhnya siap. Untuk memungkinkan
server sedikit lebih banyak waktu untuk bersiap-siap tambahkan perintah tidur. Seberapa besar
argumen tidur perlu bergantung pada layanan yang Anda mulai dan
Anda mungkin perlu mengubahnya.
docker exec -d my_command
setelah membangun ...Jawaban:
Ide pertama saya adalah membuat layanan di dalam wadah alih-alih menjalankannya
nohup
atau&
, jalankan sebagai layanan sistem dan Anda tidak perlu menanganinya di init.sh.Tapi ini bukan pendekatan buruh pelabuhan "nyata". Jika Anda membutuhkan lebih dari 1 layanan untuk dijalankan, pisahkan mereka ke wadah yang berbeda (1 kontainer - 1 layanan) dan kombinasikan semuanya dengan solusi komposisi buruh pelabuhan.
sumber
Saya memiliki masalah serupa dan sesuatu seperti yang berikut membantu saya.
Baca lebih lajut pada Doc ini
sumber