docker創建Webvirtmgr容器


鏈接:https://hub.docker.com/r/unws/webvirtmgr/

Webvirtmgr Dockerfile

拉起鏡像並創建webvirtmgr用戶和組(注意uid和guid必須為1010和容器內保持一致)

 docker pull primiano/docker-webvirtmgr
 sudo groupadd -g 1010 webvirtmgr
 sudo useradd -u 1010 -g webvirtmgr -s /sbin/nologin -d /data/vm webvirtmgr
 sudo chown -R webvirtmgr:webvirtmgr /data/vm

運行容器

docker run -d -p 8080:8080 -p 6080:6080 --name webvirtmgr -v /data/vm:/data/vm primiano/docker-webvirtmgr

安裝完成后,需要進入容器,執行:

sed -i 's/172.17.42.1/0.0.0.0/g' /webvirtmgr/vrtManager/create.py

修改后才能用noVNC連接。

在被管理的宿主機上做如下配置

libvirtd configuration on the host

1、不存在則手動創建

cat /etc/default/libvirt-bin
start_libvirtd="yes"
libvirtd_opts="-d -l"

2、其中:
listen_addr推薦0.0.0.0,監聽所有網卡
unix_sock_group為kvm主機的libvirt/libvirtd組,可用cat /etc/group查看,默認管理用戶為root,如宿主機使用非root用戶,可以修改unix_sock_group = "對應用戶組"

cat /etc/libvirt/libvirtd.conf
listen_tls = 0
listen_tcp = 1
listen_addr = "172.17.42.1"  ## Address of docker0 veth on the host
unix_sock_group = "libvirtd"
unix_sock_ro_perms = "0777"
unix_sock_rw_perms = "0770"
auth_unix_ro = "none"
auth_unix_rw = "none"
auth_tcp = "none"
auth_tls = "none"

3、#號代表需要注釋的地方

cat /etc/libvirt/qemu.conf
# This is obsolete. Listen addr specified in VM xml.
# vnc_listen = "0.0.0.0"
vnc_tls = 0
# vnc_password = ""

4、重啟libvirtd服務

systemctl restart libvirtd

5、

配置webvirtmgr

使用docker命令登錄到webvirtmgr容器中,修改admin用戶密碼,初始密碼為:admin/1234

cd /webvirtmgr
python manage.py changepassword admin

6、切換至webvirtmgr用戶

su - webvirtmgr -s /bin/bash

7、在webvirtmgr用戶下,創建到kvm主機的免登錄

ssh-keygen
touch ~/.ssh/config && echo -e "StrictHostKeyChecking=no\nUserKnownHostsFile=/dev/null" >> ~/.ssh/config
chmod 0600 ~/.ssh/config

8、然后copy到kvm主機

ssh-copy-id root@192.168.122.100
登錄webvirtmgr

打開瀏覽器,訪問http://192.168.122.100:8080
輸入用戶密碼即可
添加connection時,要保證已經配置容器中webvirtmgr用戶到目標機用戶的ssh免登錄

注意:防火牆需要開放8080和6080,如開放端口后通過novnc連接kvm虛擬機仍提示連接超時,可嘗試先關閉防火牆后重啟容器再測試下是否可以正常通過novnc連接

由於在防火牆運行狀態時,虛擬機xml配置文件中,vnc監聽0.0.0.0時會導致novnc連接虛擬機失敗,此時將listen監聽改為本地即可

以上配置需要在虛擬機關機狀態下修改

參考:https://www.jianshu.com/p/8be6b46843e5

https://blog.csdn.net/rariki/article/details/85156633


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM