Ini adalah pesan kesalahan yang saya dapatkan saat membuat image Docker:
Langkah 18: JALANKAN mkdir / var / www / app && chown luqo33: www-data / var / www / app ---> Berjalan di 7b5854406120 mkdir: tidak dapat membuat direktori '/ var / www / app': Tidak ada file atau direktori seperti itu
Ini adalah bagian dari Dockerfile yang menyebabkan kesalahan:
FROM ubuntu:14.04
RUN groupadd -r luqo33 && useradd -r -g luqo33 luqo33
<installing nginx, fpm, php and a couple of other things>
RUN mkdir /var/www/app && chown luqo33:www-data /var/www/app
VOLUME /var/www/app
WORKDIR /var/www/app
"mkdir: tidak dapat membuat direktori '/ var / www / app': Tidak ada file atau direktori" terdengar sangat tidak masuk akal - tentu saja tidak ada direktori seperti itu. Saya ingin membuatnya. Ada apa disini?
mkdir /var/www/app
pada sistem yang tidak memilikinya/var/www
.Jawaban:
Masalahnya adalah itu
/var/www
juga tidak ada, danmkdir
tidak rekursif secara default - itu mengharapkan direktori induk langsung ada.Menggunakan:
... atau instal paket yang membuat
/var/www
sebelum mencapai titik ini di Dockerfile Anda.sumber
/var/www
?Saat membuat subdirektori menggantung dari direktori induk yang tidak ada, Anda harus meneruskan
-p
bendera kemkdir
... Harap perbarui Dockerfile Anda denganSaya menguji ini dan itu benar.
sumber
Anda juga bisa langsung menggunakan
Ini akan secara otomatis membuat folder jika tidak ada.
Kemudian beralih kembali ke direktori yang Anda inginkan.
sumber
Terlepas dari kasus penggunaan sebelumnya, Anda juga dapat menggunakan Docker Compose untuk membuat direktori jika Anda ingin membuat folder tiruan baru di
docker-compose up
:sumber