Webvirtmgr docker实战
下载docker镜像和必要的配置
docker pull primiano/docker-webvirtmgr
mkdir -p /data/vm
groupadd -g 1010 webvirtmgr
useradd -u 1010 -g webvirtmgr -s /sbin/nologin -d /data/vm webvirtmgr
chown -R webvirtmgr:webvirtmgr /data/vm
启动容器
docker run -d -p 8080:8080 -p 6080:6080 --name webvirtmgr \
--mount type=bind,source=/data/vm,target=/data/vm primiano/docker-webvirtmgr
登入web
http://192.168.26.128:8080/login/
用户:admin
密码:1234
修改和创建web的密码
docker exec -it 4fc9a521f235 /bin/bash
进入容器
cd /webvirtmgr
python manage.py changepassword admin
python传参,调用交互式
python manage.py createsuperuser
创建超级用户
配置libvirtd管理主机
vi /etc/default/libvirt-bin
start_libvirtd="yes"
libvirtd_opts="-d -l"
默认没有,创建
vi /etc/libvirt/libvirtd.conf
listen_tls = 0
listen_tcp = 1
tcp_port = "16509"
listen_addr = "0.0.0.0"
unix_sock_group = "libvirt"
unix_sock_ro_perms = "0777"
unix_sock_rw_perms = "0770"
unix_sock_admin_perms = "0700"
auth_unix_ro = "none"
auth_unix_rw = "none"
auth_tcp = "none"
auth_tls = "none"
**以上去掉#号或者单独下面写一行**
vi /etc/libvirt/qemu.conf
vnc_listen = "0.0.0.0"
vnc_tls = 0
vnc_password = ""
注意加#号和密码为空
systemctl restart libvirtd
netstat -anltp|grep 16509
查看服务端口是否监听状态
关闭防火墙或者放行端口
systemctl stop firewalld
firewall-cmd --add-port 16509/tcp --permanent
systemctl restart firewalld
登入网页,新增连接
web连接虚拟机控制台有问题,在被管理的宿主机上安装
yum install -y tigervnc
进入容器操作,修改创建的xml信息
sed -i 's/172.17.42.1/0.0.0.0/g' /webvirtmgr/vrtManager/create.py
退出重启容器
docker restart ca1403171c12
关闭虚拟机后xml里添加
<graphics type='vnc' port='5900' autoport='yes' listen='0.0.0.0'>
<listen type='address' address='0.0.0.0'/>
</graphics>
可选项:auth_tcp 默认是加密,上面改成不加密建立管理端,也就是用户密码随便输入
vi /etc/libvirt/libvirtd.conf
auth_tcp = "sasl"
saslpasswd2 -a libvirt USER -f /etc/libvirt/passwd.db
USER为自己的用户名
vi /etc/sasl2/libvirt.conf
mech_list: digest-md5
sasldb_path: /etc/libvirt/passwd.db
systemctl restart libvirtd
参考:https://github.com/retspen/webvirtmgr/wiki/Setup-TCP-authorization