Ya, itu mungkin. Namun, Anda tidak dapat membuat partisi aufs bersarang di dalam aufs. Anda perlu memasang sistem lain atau menggunakan backend penyimpanan yang berbeda.
Anda dapat melihat makefile docker dan hack/dind . Anda memerlukan mode istimewa untuk melakukannya.
Cara termudah untuk mencobanya adalah dengan melakukan make shell dan setelah berada di wadah, Anda dapat memulai daemon buruh pelabuhan baru :)
EDIT:Saya mencoba Koding dan memang tidak mungkin. Anda tidak memiliki hak istimewa dalam penampungnya sehingga Anda tidak dapat memulai buruh pelabuhan baru.
Ya, buruh pelabuhan bisa berjalan di wadah linux.
Tetapi buruh pelabuhan hanya akan berjalan dengan lxc driver eksekusi dan dalam unconfined lxc.
Jadi, inilah cara mendapatkan buruh pelabuhan di LXC:
-
Pastikan Anda memiliki
lxc.aa_profile = lxc-container-default-with-nesting(jika tidak berhasil atau Anda tidak memiliki profil ini, cobalxc.aa_profile = unconfined) diconfigfile LXC Anda untuk memastikannya tidak akan diblokir olehapparmor. Untuk informasi lebih lanjut, kunjungi (atau modifikasi) file di/etc/apparmor.d/lxc. -
Anda perlu menginstal lxc di wadah Anda. Jika Anda menggunakan ubuntu misalnya, jalankan di wadah
apt-get install lxc. -
Pastikan daemon docker dipanggil dengan
--exec-driver=lxcparameter. Anda dapat mengujinya sebelumnya dengan mengeluarkandocker -d --exec-driver=lxcsecara manual . Di ubuntu, agar argumen digunakan saat startup, cukup edit/etc/default/dockerdan pastikan Anda memiliki baris:
DOCKER_OPTS="--exec-driver=lxc"
Ikuti utas ini untuk pembaruan:https://github.com/docker/docker/issues/6783
Jika Anda perlu memecahkan masalah:
- perhatikan
apparmorlog di log kern host. - luncurkan
docker -d ...secara manual untuk mendapatkan keluaran.
Catatan:Anda mungkin tidak memiliki tangan pada host untuk memodifikasi skrip apparmor LXC di Koding dengan menilai jawaban orang lain, bagaimanapun, cara ini tetap menarik jika Anda adalah penyedia LXC, dan ini menjawab pertanyaan yang lebih umum yang Anda tanyakan di judul pertanyaan dan itu mungkin menarik orang dalam skenario yang lebih umum (seperti saya).
Dan ini adalah panduan lengkap untuk siapa pun yang berada di perahu yang sama.
Mulai terminal dan mulai mengetik..
docker run -i -t --privileged -v /var/lib/docker ubuntu bash
apt-get update && apt-get install -y docker.io
service docker.io start
ln -s /usr/bin/docker.io /usr/local/bin/docker
docker run -i -t ubuntu bash
Sekarang Anda harus berada di dalam wadah di dalam wadah lain.
Keterangan:
- Bendera
--privilegeddiperlukan di wadah luar untuk melakukannya. - Anda HARUS menggunakan
-v /var/lib/dockeruntuk menghindari batasan yang disebutkan oleh creack. ln -s /usr/bin/docker.io /usr/local/bin/dockerhanya membuat tautan simbolis sehingga kita dapat mengetikkandockerbukannyadocker.io