Machine: Mesin ekspor / impor

Dibuat pada 6 Des 2014  ·  67Komentar  ·  Sumber: docker/machine

Sesuatu seperti ini seharusnya berfungsi untuk mentransfer mesin:

 $ machine export test | ssh anotherhost machine import

(Mungkin kita bisa menggunakan machine inspect ?)

kinenhancement

Komentar yang paling membantu

Saat Anda membuat mesin, Anda hanya dapat menggunakan dan mengelolanya dari satu komputer. Anda mungkin ingin:

1) backup host Anda
2) mentransfernya ke komputer lain
3) bagikan dengan anggota tim

Semua 67 komentar

Apa untungnya yang satu ini? Tujuan menggunakan mesin dari sudut pandang saya adalah untuk menyiapkan mesin sederhana dengan buruh pelabuhan di atasnya (tidak ada barang mewah atau barang khusus). Dengan pemikiran tersebut membuat atau mengekspor-> mengimpor mesin adalah persis sama dan tidak memberi saya keuntungan apapun.

Saat Anda membuat mesin, Anda hanya dapat menggunakan dan mengelolanya dari satu komputer. Anda mungkin ingin:

1) backup host Anda
2) mentransfernya ke komputer lain
3) bagikan dengan anggota tim

Haruskah kita memiliki perintah drop sehingga kita dapat menghapus mesin dari daftar tanpa menghentikannya? Saya pikir ini mungkin berguna setelah beberapa mesin diekspor dan ditransfer ke komputer lain.

Apa sebenarnya isi file yang disimpan? yaitu; Apakah itu berisi token untuk menghubungkan ke daemon?

Idealnya, harus ada sesuatu untuk mengelola komputer / orang agar memiliki akses ke host. Berpikir di sepanjang garis token satu kali yang dapat menghubungkan komputer baru ke host yang ada.

@bfirsh @waitingkuo Ini sepertinya fitur yang sangat berguna yang akan kami gunakan di Rancher (kami ingin menggunakan sisi server mesin).

Alasan apa pun penerapannya (# 29) tampaknya terhenti. Adakah yang bisa saya lakukan untuk mencoba hep?

+1 akan menjadi luar biasa

+1

+1

+1

Kami telah membuat alat yang kami gunakan sendiri, untuk memudahkan ekspor mesin buruh pelabuhan. Ini pada dasarnya mengekspor semua kunci sertifikat ssh. Umpan balik diterima!

https://github.com/blackbeardapp/docker-machine-export

mungkin berlebihan tapi sesuatu seperti registry mesin buruh pelabuhan akan menjadi luar biasa!

Saat ini kami menggunakan git repo untuk berbagi pengaturan buruh pelabuhan, masalahnya adalah bahwa beberapa dari kita memiliki mesin kotak virtual dan itulah sisi negatifnya

@kevinsimper bagaimana cara mengimpornya kembali?

Apakah masalah ini termasuk gagasan untuk berbagi kelompok swarm antar pengembang?

@ saada Saya pikir itu hanya mencakup berbagi kredensial , bukan konfigurasi cluster.
Akan luar biasa jika memiliki kemampuan ini dalam mesin.
Saat ini saya hanya mengetahui https://github.com/efrecon/machinery dan https://github.com/nathanleclaire/moby

+1

Saya menjaga kemampuan untuk berbagi mesin di antara pengguna di host yang sama.
Dan apakah ada solusi untuk ini? Saya menyalin seluruh folder ~/.docker/machine/ untuk saat ini

+1

+1

+1

+1

+1

+1

+1

+1

+1

Saya pikir cara yang lebih baik untuk menunjukkan niat Anda adalah dengan mengklik Subscribe (di sisi kanan Pemberitahuan )

Saya telah menulis skrip impor / ekspor yang dapat Anda gunakan sementara itu sampai fitur ini diterapkan secara asli. Semoga ini membantu :)

https://gist.github.com/schickling/2c48da462a7def0a577e

@schickling mungkin ada sesuatu yang ingin ditambahkan ke direktori "contrib" dalam repositori ini? https://github.com/docker/machine/tree/master/contrib/completion

Sayangnya saya tidak punya waktu untuk melakukan itu, tetapi jangan ragu untuk melakukannya!

+1

+1

+1

Saya menulis lagi utilitas kecil untuk mengekspor / mengimpor mesin buruh pelabuhan. Kami menggunakan ini untuk penerapan CI kami. https://www.npmjs.com/package/@mumbacloud/dmport

Terima kasih kepada kevinsimper untuk https://github.com/blackbeardapp/docker-machine-export Saya menggunakan ide Anda untuk mengekspor sebagai JSON, yang membuatnya cukup portabel untuk lingkungan CI.

Saya juga mulai mengerjakan beberapa skrip ekspor / impor, yang sebenarnya tidak saya mengerti mengapa ada beberapa file duplikat di certs dan folder mesin tertentu machines/<myMachine> . Juga setelah menyesuaikan jalur di config.json ke beberapa jalur khusus di luar .docker/machine/machines... saya mencatat bahwa pekerja galangan masih mengharapkan beberapa sertifikat / pems / kunci ditempatkan di folder itu

Adakah yang bisa merekomendasikan beberapa dokumentasi tentang apa yang seharusnya ada di mana sebenarnya?

Sepertinya pengembang Node.js secara aktif menggunakan ini (dan menulis ulang solusi sendiri). Yang ini saya temukan melalui Twitter

https://www.npmjs.com/package/machine-share

Berbagi konfigurasi Mesin Docker Anda:

npm install -g machine-share
machine-export <machine-name>
machine-import <machine-name>.zip

Paket node yang sama (seperti yang disebutkan oleh

https://github.com/bhurlow/machine-share/blob/master/export.sh
https://github.com/bhurlow/machine-share/blob/master/import.sh

Namun ini adalah solusinya, mesin galangan harus menangani ini dan idealnya memberikan sertifikat unik per pengembang / pengguna (sehingga pencabutan dimungkinkan).

Masalah yang saya hadapi dengan skrip ekspor / impor saat ini adalah skrip tersebut akan menimpa file yang ada di ~/.docker/machine/certs , bukan?

saya hanya dapat berbicara untuk dmport, itu akan menimpa file jika ada.

itu bukan masalah bagi kami karena kami menggunakannya di buruh pelabuhan itu
tidak memiliki apa pun untuk ditimpa karena ini adalah penampung baru di masing-masing
menyebarkan.

Saya berencana untuk segera membersihkan dmport saya dapat menambahkan bendera yang akan mencegah
menimpa file yang ada jika itu akan membantu
Pada 1 Jun 2016 1:54 AM, "Max Bruchmann" [email protected] menulis:

Masalah yang saya hadapi dengan skrip ekspor / impor saat ini adalah skrip tersebut
akan menimpa file yang ada di ~ / .docker / machine / certs, bukan?

-
Anda menerima ini karena Anda berkomentar.
Balas email ini secara langsung, lihat di GitHub
https://github.com/docker/machine/issues/23#issuecomment -222932695, atau nonaktifkan
utasnya
https://github.com/notifications/unsubscribe/ADIV-3T7FEa9CJvn_UdTb9AeQfwI3lkCks5qHUjegaJpZM4DFGT5
.

+1

Kami menggunakan kontainer buruh pelabuhan untuk tugas ini - apa lagi 😄

Idenya juga untuk memiliki lingkungan yang sama (mis. Jalur konfigurasi cert) untuk semua pengguna, dipasang sebagai volume host. Anda dapat menggunakan docker-machine , docker-compose dan docker dalam wadah yang dibuat dari roj. Dan Anda dapat mengirimkan folder data sebagai zip melalui email atau memasukkannya ke dalam repo git pribadi.

+1

Saya tidak yakin kasus penggunaan saya sama dengan yang lain - saya telah membuat beberapa mesin berbeda untuk tujuan berbeda dan saya ingin mencadangkan keberadaan dan konfigurasi (minor) mereka. Saya lebih suka hanya memiliki beberapa file teks sederhana yang digunakan untuk membuat ulang kotak.

https://www.npmjs.com/package/machine-share tampaknya tidak menghormati MACHINE_STORAGE_PATH saya. skrip schickling mencadangkan beberapa file biner besar (misalnya, boot2docker.iso). https://www.npmjs.com/package/@mumbacloud/dmport membuat beberapa kesalahan.

Kami juga menginginkan fungsionalitas ini, kami telah membuat mesin di gcloud menggunakan docker-machine untuk pengembangan dan saya ingin mengizinkan rekan kerja saya untuk mengeksekusi ke dalam penampung dan melihat log.

Saya benar-benar terkejut ini belum didukung. Contoh saya adalah saya membuat cluster kumpulan buruh pelabuhan di Azure dari laptop saya (tanpa memikirkan ini sepenuhnya) dan sekarang saya ingin developer lain dapat mengelola cluster tersebut, jadi saya membuat VM bersama di Azure yang dapat dibagikan semua orang. Saya menginstal mesin buruh pelabuhan dan sekarang saya perlu cara untuk mengimpor mesin dari laptop saya ke kotak lompat kami di Azure.

@jcrben Hai, bagaimana dengan memposting masalah lengkap tentang machine-share , terkait MACHINE_STORAGE_PATH?

Saya baru-baru ini meninjau karya bhurlow, dan saya ingin tahu apakah ada yang rusak

@jcrben Apakah Anda juga mencoba https://github.com/dmstr/docker-roj? ... Saya hanya ingin tahu.

Orang-orang, untuk cinta semua hal yang tepat, tolong 👍 OP dan bukan sebagai komentar terpisah. Spam "+1" mengalihkan perhatian dari percakapan.

FYI: # 3212

@ lnshi Saya pikir masalah dengan mengimpor server buruh pelabuhan yang ada dengan docker-machine create -d generic ... , adalah ia membuat ulang sertifikat dan memulai ulang Docker, jadi tidak sesuai untuk skenario produksi / kerja tim.

@pedrodevoto Saya tahu, saya baru saja menyebutkan masalah itu, karena ppl telah banyak berdiskusi di sana.
Untuk saat ini saya rasa belum ada solusi yang tepat.

@ntwrkguru lagi, itu membuat masalah relevan dan hidup. Tidak ada pemberitahuan di emoji.

Masalah ini hampir berusia 4 tahun, saya ragu bahwa beberapa komentar +1 lagi akan tiba-tiba menjadikannya prioritas.

@ntwrkguru Selama

Sekarang, saya tidak tahu bagaimana tim buruh pelabuhan memprioritaskan masalah, tetapi saya yakin mereka juga memiliki pelanggan yang membayar, yang saya yakin akan selalu didahulukan sebelum melihat permintaan fitur komunitas publik.

Hal yang sama: https://github.com/docker/machine/issues/1328 ?

Saya baru saja terbiasa dengan buruh pelabuhan dan membangun host pertama saya menggunakan mesin buruh pelabuhan. Sekarang suatu hari kemudian, saya mencoba untuk terhubung ke host buruh pelabuhan saya menggunakan workstation yang berbeda ... Terkejut melihat bahwa itu tidak mungkin, setidaknya bukan tanpa sakit kepala besar. Sepertinya fitur penting untuk memungkinkan tim mengelola tuan rumah ...

Itu karena mesin buruh pelabuhan tidak pernah dirancang untuk menjadi alat tim. Ini berarti bagi individu untuk dengan mudah membuat VM yang menginstal otomatis docker dan menyiapkan sertifikat TLS dockerd untuk manajemen cli jarak jauh.

Jika Anda mencoba membangun dan menerapkan lingkungan buruh pelabuhan untuk tim, Anda mungkin ingin menggunakan alat yang berbeda.

@BretFisher dan alat apa itu? Bukannya saya ingin menggunakannya untuk tim, hanya dari 3 workstation berbeda ...

Salah satu keuntungan besar dari mesin buruh pelabuhan adalah bahwa ia menyiapkan TLS pada mesin buruh pelabuhan untuk manajemen cli jarak jauh.

Hari ini Docker Engine 18.09 dirilis dan dengan itu fitur baru yang hebat yang memungkinkan manajemen cli jarak jauh menggunakan tunneling SSH (semacamnya) dan merupakan pendekatan IMO yang jauh lebih baik bagi kita tanpa perlu penuh RBAC mesin buruh pelabuhan. Bagi mereka yang menggunakan mesin buruh pelabuhan hanya untuk mempermudah pengelolaan jarak jauh, saya sarankan untuk memeriksa ini di 18.09. Baik server buruh pelabuhan dan klien Anda harus berada di 18.09, dan selama Anda dapat menggunakan SSH, Anda dapat menggunakan cli dari jarak jauh.

Docker Captain Luc Juggery memiliki artikel singkat tentang ini . Saya berharap ini akan menjadi cara default saya untuk menggunakan buruh pelabuhan dari jarak jauh.

Saya mengerti apa yang Anda katakan @BretFisher , tetapi akan menyenangkan untuk memilikinya di mesin

@adilinden untuk satu opsi pengguna meliputi:

  1. sinkronkan ~/.docker/machine/machines antara mesin-mesin itu dalam repo git pribadi dan / atau terenkripsi. Anda mungkin juga membutuhkan ~/.docker/machine/certs juga, saya tidak yakin. Ini harus cukup aman karena menyimpan sertifikat pribadi.

  2. Pilih AMI, Droplet, dll. Yang sudah memiliki docker diinstal dan terapkan. Kemudian gunakan fitur SSH 18.09 baru untuk mengontrol mesin buruh pelabuhan dari jarak jauh.

  3. Cobalah salah satu dari banyak alat yang mengekspor / mengimpor direktori data mesin yang saya cantumkan di atas.

@BretFisher Saya sangat suka # 2, tampaknya sejauh ini pilihan terbaik untuk skenario saya karena semua kenop dan tombol sudah siap untuk itu. Mengganti host juga terlihat sepele, karena ini hanya mengatur variabel lingkungan tunggal.

Sekarang hanya untuk mencari cara agar Docker untuk Mac menjadi 18.09 dan bukan 18.06.1-ce-mac73 (26764).

@ntwrkguru docker-machine sangat bagus untuk mesin sekali

Di SSH, Anda tidak akan menggunakan ansible dalam kasus ini, yang saya katakan adalah setelah Anda menerapkan server galangan apa pun (memungkinkan atau sebaliknya) yang menjalankan 18.09+, selama Anda memiliki izin SSH ke server itu, Anda sekarang dapat melakukan sesuatu seperti:

docker -H ssh://[email protected] run -p 80:80 nginx
atau
DOCKER_HOST=ssh://[email protected] docker system prune

Untuk mengontrol mesin itu dari jarak jauh tanpa konfigurasi atau pengaturan khusus. Mampu mengekspor envvar dan kemudian menjalankan banyak perintah terhadap mesin itu (tanpa membungkusnya dengan ansible, dll.) Sangat berguna.

@adilinden rilis Linux baru saja diluncurkan hari ini, jadi Anda harus memberi tim beberapa hari atau minggu untuk meluncurkan semua produk hilir yang menggunakannya :). Jika Anda menginginkannya hari ini , gunakan rilis edge yang memiliki beta 18.09 dan berfungsi dengan baik untuk saya di Mac.

Memang, saya tidak pernah mengotak-atik mesin buruh pelabuhan dalam beberapa tahun. Saya memiliki 4 server yang tetap menjalankan mesin Docker biasa.

Jadi, apa keuntungan antara docker -H ssh://[email protected] run -p 80:80 nginx dan ssh://[email protected] docker run -p 80:80 nginx ?

[Sunting] Tidak argumentatif; Saya bertanya-tanya apakah ada manfaat yang jelas.

@ntwrkguru Saya dapat membangun dari file Docker di workstation saya menggunakan perintah docker -H ssh://[email protected] . . Sedangkan yang sama gagal (seperti yang diharapkan) menggunakan ssh -luser 10.10.10.10 docker build .

Sekadar informasi, bisa juga menggunakan ssh untuk socket forwarding. Sesuai https://medium.com/@dperny/forwarding -the-docker-socket-over-ssh-e6567cfab160, tetapi dengan sedikit modifikasi.

Dalam satu sesi terminal dijalankan

ssh -nNT -L $(pwd)/docker.sock:/var/run/docker.sock -l user 10.10.10.10

Lari lagi

docker -H "unix:///$(pwd)/docker.sock" run -p 80:80 nginx

atau

export DOCKER_HOST="unix:///$(pwd)/docker.sock"
docker run -p 80:80 nginx

Saya memiliki masalah yang sama dan saya membuat skrip shell untuk melakukan pencadangan dan pemulihan:
https://github.com/usr42/docker-machine-backup

Hanya data yang benar-benar dibutuhkan yang dicadangkan. Misalnya tidak ada file iso di dalam cadangan.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat