Dimana someImageName adalah gambar. Ketika / bin / somebinary keluar, gambar tidak akan lagi berjalan.
Saya hanya ingin menjalankan gambar, tanpa menentukan binari apa pun untuk dijalankan. Sebaliknya, Saya hanya ingin menjalankan layanan (misalnya, systemd / sysvinit) yang biasanya dijalankan di dalam os images.
Ini sepertinya hal paling umum yang ingin dilakukan siapa pun dengan Docker, tetapi mencoba menjalankan gambar tanpa perintah akan kembali:
2014/02/05 14:49:19 Error: create: No command specified
Bagaimana Saya bisa memulai wadah Docker dan menjalankan OS penuh, daripada menentukan perintah?
Seperti yang didokumentasikan di sini, Anda cukup menjalankan /sbin/init sebagai perintah sama seperti booting unix lainnya dari single user ke mode multi-user.
Kontainer dapat menjadi OS penuh, mereka tidak harus (begitu juga vm dalam hal ini, itu hanya lebih rumit untuk dikonfigurasi dan dikelola).
Saya akan mengatakan inti dari Docker adalah membuat wadah aplikasi menjadi mudah, sehingga Anda hanya perlu mengonfigurasi aplikasi, bukan seluruh OS.
Docker adalah sistem untuk manajemen dan penyebaran aplikasi kontainer, tidak sistem operasi wadah. Sepertinya Anda menggabungkan menjalankan wadah buruh pelabuhan dengan mem-boot sistem operasi.
Kontainer Docker Anda harus berupa aplikasi tujuan tunggal dengan cakupan sangat sempit yang dapat dimulai dengan satu perintah. Jika Anda mencari sesuatu yang lebih kompleks dari itu, maka Docker bukanlah solusi yang anda cari. Dalam hal ini, Periksa KVM, ESXi, OpenVZ, LXD dll.
Jika Anda hanya mencari bagaimana Anda dapat menentukan default CMD dan ENTRYPOINT untuk wadah Anda, Anda dapat melakukannya di membangun-waktu menggunakan Dockerfile.
Jalankan saja dari gambar yang sama sebanyak yang diperlukan. Kontainer baru akan dibuat dan mereka kemudian dapat dimulai dan berhenti masing-masing menyimpan konfigurasinya sendiri. Untuk kenyamanan Anda akan lebih baik untuk memberikan masing-masing wadah Anda nama dengan "--name".
F. i:
docker run --name MyContainer1 <ubuntu image>docker run --name MyContainer2 <ubuntu image>docker run --name MyContainer3 <ubuntu image>
Itu saja.
$ docker psCONTAINER ID IMAGE CREATED STATUS NAMESa7e789711e62 67759a80360c 12 hours ago Up 2 minutes MyContainer187ae9c5c3f84 67759a80360c 12 hours ago Up About a minute MyContainer2c1524520d864 67759a80360c 12 hours ago Up About a minute MyContainer3
Setelah itu Anda memiliki wadah Anda dibuat selamanya dan Anda dapat memulai dan menghentikan mereka seperti VMs.
docker start MyContainer1
Untuk mendapatkan dalam wadah dan melakukan apa yang ingin Anda lakukan: