Решение было предложено после этого руководства для установки ядра 4.4.0 на Mint. И переустановка докера (много раз, поскольку у меня была поврежденная предыдущая конфигурация), потому что я установил его с помощью однострочника и скрипта и, как мне кажется, не следовал инструкциям по установке на официальном сайте Docker.
Теперь я мог запустить его с помощью:
$ uname -r
4.4.0-040400-generic
$ docker version
Client:
Version: 1.12.3
API version: 1.24
Go version: go1.6.3
Git commit: 6b644ec
Built: Wed Oct 26 21:44:32 2016
OS/Arch: linux/amd64
Server:
Version: 1.12.3
API version: 1.24
Go version: go1.6.3
Git commit: 6b644ec
Built: Wed Oct 26 21:44:32 2016
OS/Arch: linux/amd64
Не совсем решение проблемы, так как я не мог понять, почему это не работает, но это сейчас работает (протестировано с изображениями ubuntu и сонара, оба работали нормально).
Мое понимание было противоположным. Если сетевое устройство виртуальной машины libvirt настроено для подключения к virbr0
, вы сможете получить к нему доступ с хост-машины.
Другой вариант сетевого устройства, где это не работает, называется «пользовательская сеть». Если это не ваша проблема, вам нужно будет предоставить дополнительную информацию.
http://xkahn.zoned.net/blog/2013/11/26/networking-and-gnome-boxes
Arch предполагает, что виртуальный переключатель ^ Wbridge vibr0
является частью настройки по умолчанию конфигурация демона libvirt, поэтому вам просто нужно убедиться, что виртуальная машина настроена для его использования. wiki.archlinux.org/index.php/Libvirt#Networks
Они ссылаются на jamielinux.com/docs/libvirt-networking-handbook - для virbr0 см. https://jamielinux.com/docs/libvirt-networking -handbook / nat-based-network.html
Просто чтобы задокументировать это где-нибудь в сети:
Мне удалось сделать это два года спустя, вручную добавив соответствующие аргументы QEMU в XML-файл KVM (, который содержит конфигурацию для всей причудливой виртуализации foo за кулисами ).
Вот шаги, которые я выполнил, чтобы разрешить переадресацию портов в пользовательскую сеть; в моем случае переадресация порта хоста 22222 на порт гостя 22:
Здесь моя эмулируемая машина будет называться ubuntu18.04.
Открыть xml конфиг для редактирования через вирш
$ virsh -c qemu:///session edit ubuntu18.04
Найдите и удалите конфигурацию для интерфейса типа «пользователь» -, которая может выглядеть как-то так:
<interface type='user'>
<mac address='52:54:00:52:35:ff'/>
<model type='rtl8139'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
Добавьте пространство имен QEMU в тег корневого домена ():
<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
Вручную добавьте отсутствующую конфигурацию интерфейса в качестве аргументов QEMU где-нибудь внутри тега домена (, например, как последний дочерний элемент<domain>
):
<qemu:commandline>
<qemu:arg value='-netdev'/>
<qemu:arg value='user,id=mynet.0,net=10.0.10.0/24,hostfwd=tcp::22222-:22'/>
<qemu:arg value='-device'/>
<qemu:arg value='rtl8139,netdev=mynet.0'/>
</qemu:commandline>
Сохраните конфигурацию и запустите/перезагрузите виртуальную машину.
ssh прочь:
ssh myusername@localhost -p 22222