docker, ağı pencereler ve linux kapsayıcılarıyla paylaşır
Aynı ağ içinde bir pencere ve bir linux konteyneri bağlamak istiyorum.
Önce bir ağ oluşturuyorum (Windows için Docker, "Windows Kapsayıcıları" olarak ayarlanmıştır):
docker network create --driver nat mynet
Ağ oluşturulur ve docker network ls
yeni ağı listeler.
docker-compose.yml of the windows ve linux service şunları içerir:
version: "3"
services:
...
networks:
mynet: {}
networks:
mynet:
external: true
İle docker-compose up
pencerelerin konteyner "Linux Konteynerler geçmeyi sağlar" ve aşağıdaki hata gösterilir Linux kabı başlatmaya çalışırken sonra cezayı başlar:
HATA: Ağ mynet harici olarak ilan edildi, ancak bulunamadı. Lütfen ağı kullanarak manuel olarak oluşturun
docker network create mynet
ve tekrar deneyin.
Ayrıca docker network ls
artık ağı listelemiyor.
Windows ve linux arasında bir ağı paylaşmanın doğru yolu nedir?
Yanıtlar
'Linux Kapsayıcılarına Geçiş Yap' seçeneğinin değiştirilmesi, Docker'ınızın bağlamları Docker'ın üzerinde çalıştırdığı bir linux vm ile bir Windows işletim sistemi arasında ileri geri değiştirmesine neden olur.
Bunu yaptığınızda, birbirinin farkında olmayan farklı bir docker kaynağı kümesine etkili bir şekilde geçersiniz. Ayrı işletim sistemlerinde. Ne yazık ki, compose ile yapmaya çalıştığınız şeyi yapamazsınız, çünkü compose her zaman tek bir Daemon üzerinde çalışır ve tek bir Daemon tek bir işletim sisteminde çalışır. Ancak kendinize ait bir linux vm kurabilir, üzerine docker kurabilir ve Windows makineniz ve linux sanal makinenizden oluşan 2 düğümlü bir sürü oluşturabilirsiniz. Bu şekilde, linux kapsayıcılarınızı birinde, Windows kapsayıcılarınızı diğerinde çalıştırabilir ve bunları bir ağ üzerinden bağlayabilirsiniz.