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
docker创建Webvirtmgr容器的更多相关文章
- Docker 创建 Redis 容器
Docker 创建 Redis 容器 # 配置文件映射: # -v /root/redis/redis.conf:/etc/redis/redis.conf # 数据目录映射: # -v /root/ ...
- 使用Docker创建数据容器
使用Docker创建数据容器 翻译自: Data-only container madness 1.什么是数据容器? 数据容器就是本身只创建一个volume供其他容器共享,创建完后即退出,不执行任何任 ...
- Docker(八)-Docker创建Nginx容器
获取Nginx镜像 最简单的方法就是通过 docker pull nginx 命令来创建 Nginx容器. $ sudo docker pull nginx 或者: $ sudo docker pul ...
- Docker创建Mysql容器并通过命令行连接到容器
拉取网易蜂巢的mysql-server:5.6 docker pull hub.c.163.com/nce2/mysql:5.6 创建mysql5.6容器 1master+3个slave docker ...
- 使用docker创建MySQL容器,并在springboot中使用
最近在看网上找了个springboot的项目试试,在项目中需要的MySQL版本是5.7,但是本机的MySQL只有5.5.因此想着在我的服务器上跑一个MySQL:5.7的容器解决这一问题,但是在实际操作 ...
- 使用docker创建mysql容器
1.拉取mysql容器 docker pull mysql:5.7
- docker创建mysql容器,并挂载数据+配置
新建:/my/mysql/my.cnf (准备挂载配置文件用) 将以下内容拷贝进去(或者启动一个docker的mysql,并且把/etc/mysql/my.cnf中的内容拷贝出来) # Copyrig ...
- Docker 创建 mongo 容器
获取 docker 认证 mongo 镜像: docker pull mongo 创建运行 mongo 容器: docker run -d -it -p : --name mongo3 -m 512M ...
- Docker(九)-Docker创建Selenium容器
SeleniumHQ官方项目:https://github.com/seleniumHQ/docker-selenium 项目目前快速迭代中. Selenium 这里主要针对的是 Selenium G ...
随机推荐
- url与uri区别
url属性: 是要求按照url的写法来写地址 URL:Uniform Resource Locator 统一资源定位符.它是可以唯一标识一个资源的位置 写法: http://localhost:808 ...
- redis示例
1. 引入redis相关包 <!-- redis 相关包--> <dependency> <groupId>org.springframework.data< ...
- [HAOI2015]树上操作 题解
题目描述 有一棵点数为 N 的树,以点 1 为根,且树点有边权.然后有 M 个操作,分为三种: 操作 1 :把某个节点 x 的点权增加 a . 操作 2 :把某个节点 x 为根的子树中所有点的点权都增 ...
- C语言中的共用体(union)和枚举(enum)
1 union union Data{ int i; char ch; float f; }a={1, 'a', 1.5}; //错误 union Data a = {16}; //正确 union ...
- 设置session销毁时间
currentUser.getSession().setTimeout();
- java之hibernate之配置讲解
1.映射文件:User.hbm.xml <!-- package 指向class中所有类的包名,可以直接在指定类名时同时指定包名 --> <hibernate-mapping pac ...
- debug 查询服务日志,用于定位服务在运行和启动过程中出现的问题
vim /usr/lib/systemd/system/sshd.service [Unit] Description=OpenSSH server daemon Documentation=man: ...
- Java中使用Log4j记录错误、输出日志
简介: Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件.甚至是套接口服务器.NT的事件记录器.UNIX Syslog守护进 ...
- C# vb .net实现亮度调整特效滤镜效果
在.net中,如何简单快捷地实现Photoshop滤镜组中的亮度调整呢?答案是调用SharpImage!专业图像特效滤镜和合成类库.下面开始演示关键代码,您也可以在文末下载全部源码: 设置授权 第一步 ...
- [unity]GPU Instance学习
前言我们之前研究过为什么Unity的UI可以合批,是因为使用了相同的材质进行渲染,UI上不同图片渲染是通过把图片打成一张图集后,使用Image组件对顶点填充了不同的UV值实现的.那么有没有什么办法可以 ...