Saya mencoba membuat konfigurasi Nextcloud khusus secara lokal, kemudian memiliki kemampuan untuk memasangnya ke folder yang sesuai menggunakan volume seperti yang didefinisikan di sini: https://github.com/nextcloud/docker#persistent-data. Semua mount volume berfungsi kecuali untuk mount config... Mengapa diperlakukan berbeda di sini?

Langkah-langkah untuk mereproduksi

0) Masuk ke direktori baru/kosong (tidak mengandung sub-direktori atau file tambahan).

1) Buat file docker-compose.yml yang hanya berisi konten di bawah ini:

version: "3.4"

services:
  nextcloud:
    image: nextcloud:latest
    volumes:
      - "./nextcloud/custom_apps:/var/www/html/custom_apps"
      - "./nextcloud/config:/var/www/html/config"
      - "/data/nextcloud:/var/www/html/data"
      - "./themes:/var/www/html/themes"

2) docker-compose up -d

Perilaku yang diharapkan

Kerja. Saya seharusnya dapat melihat konten /var/www/html/config secara lokal di ./nextcloud/config, dan kemudian memasukkan config.php pelanggan, yang kemudian diperbarui di dalam wadah.

Perilaku sebenarnya

KESALAHAN saat membuka penampung, khusus untuk direktori config. Jika saya menghapus pemasangan volume ./nextcloud/config:/var/www/html/config di atas, maka wadah akan mulai tanpa kesalahan.

Pesan eror

GALAT: untuk nextcloud Tidak dapat memulai layanan nextcloud: pembuatan runtime OCI gagal: container_linux.go:349: memulai proses container menyebabkan "process_linux.go:449: container init menyebabkan \"rootfs_linux.go:58: pemasangan \"/home/user /nextcloud-test/nextcloud/config\\" ke rootfs \\"/var/lib/docker/overlay2/41b567141e23b16cf5e4f99f4c33703fc9a533aa5a4bef68fbba70a74842ca88/merged\\" di \\"/var/lib/docker/overlay2/afcacged9704e534/var/lib/docker/overlay www/html/config\\" menyebabkan "bukan direktori"\"": tidak diketahui: Apakah Anda mencoba memasang direktori ke file (atau sebaliknya)? Periksa apakah jalur host yang ditentukan ada dan merupakan tipe yang diharapkan KESALAHAN: Terjadi kesalahan saat membuka proyek.

Konfigurasi server

Sistem operasi:

Sistem Operasi: Debian GNU/Linux 10 (buster) Kernel: Linux 4.19.0-8-cloud-amd64 Arsitektur: x86-64

Gambar

Nextcloud: terbaru (apache)

1
ch-pub 11 April 2020, 19:11

1 menjawab

Jawaban Terbaik

Saya tidak dapat mereproduksi menggunakan langkah Anda (Ubuntu 18.04).

Dari sini, menjalankan docker-compose up -d lalu docker-compose logs, saya tidak melihat kesalahan. Kemudian, saat menjalankan docker inspect di container, saya melihat yang berikut:

...
"Volumes": {
    "/var/www/html": {},
    "/var/www/html/config": {},
    "/var/www/html/custom_apps": {},
    "/var/www/html/data": {},
    "/var/www/html/themes": {}
},
...

Yang menunjukkan mount telah bekerja tanpa masalah.

Apa yang saya sarankan Anda lakukan:

  1. Periksa direktori ./nextcloud/config ada dan bukan file
  2. Periksa instalasi Docker dan Docker Compose Anda mutakhir
  3. Coba jalankan wadah Docker dengan docker run -it -v ./nextcloud/config:/var/www/html/config <containername> /bin/bash untuk menjelajahi apakah mount bekerja secara manual
  4. Coba lakukan hal yang sama pada contoh minimal seperti contoh Memulai
1
Johann8 14 April 2020, 08:46