Saya perlu menjalankan aplikasi dari direktori tertentu.
$ sudo docker run -P ubuntu/decomposer 'cd /local/deploy/decomposer; ./decomposer-4-15-2014'
2014/10/09 21:30:03 exec: "cd /local/deploy/decomposer; ./decomposer-4-15-2014": stat cd /local/deploy/decomposer; ./decomposer-4-15-2014: no such file or directory
Direktori itu pasti ada, dan jika saya terhubung ke buruh pelabuhan dengan menjalankan bash secara interaktif saya dapat menjalankan perintah di atas.
$ sudo docker run -i -t ubuntu/decomposer /bin/bash
# cd /local/deploy/decomposer; ./decomposer-4-15-2014
Saya dapat menjalankan program saya dengan menentukan path lengkap, tetapi kemudian crash karena diharapkan akan diluncurkan dari direktori saat ini. Apa yang dapat saya?
/bin/sh -c
.Anda dapat menggunakan
-w
opsi untuk mengubah direktori kerja Anda.Jadi, dalam kasus Anda, Anda akan menjalankan:
sumber
-w
dengandocker exec
? Saya mencari cara untuk menjalankan skrip python di wadah saya, tetapi tidak bisa menghentikannya di luar wadah.flag provided but not defined: -w
Gunakan WORKDIR di Dockerfile Anda untuk mengatur direktori kerja. Kemudian Anda dapat menjalankan perintah Anda dengan EXEC.
sumber
Ini mungkin saya disebabkan oleh masalah izin atau turunannya tidak dapat menemukan jalur yang dapat dieksekusi yang tersedia. Untuk memeriksa ini coba tambahkan lokasi yang dapat dieksekusi yang tersedia di jalur dan coba jalankan skrip
untuk menambahkan direktori saat ini di jalur silakan gunakan perintah di bawah ini
sumber