您的位置:首页 > 汽车 > 时评 > 十大经典案例_农村自建房设计图120平方二层_永久免费无代码开发平台网站_惠州seo计费管理

十大经典案例_农村自建房设计图120平方二层_永久免费无代码开发平台网站_惠州seo计费管理

2024/12/24 0:09:27 来源:https://blog.csdn.net/qq_31292011/article/details/143976254  浏览:    关键词:十大经典案例_农村自建房设计图120平方二层_永久免费无代码开发平台网站_惠州seo计费管理
十大经典案例_农村自建房设计图120平方二层_永久免费无代码开发平台网站_惠州seo计费管理

镜像构建

  • 官方最后一次更新已经是 2015年6月22日 了,官方也没有 docker 镜像,这边选择咱们自己构建
  • 如果你的服务器有魔法,可以直接 git clone 一下 webvirtmgr 的包,没有的话,可以和我一样,提前从 github 上下载下来,上传到机器上,然后 ADD 到容器里面
  • 这个项目已经很悠久了,只能用 2.x 的 python,这里就直接用 centos 作为基础镜像,对比过 debian 和 python 镜像,构建完都要1G多,用 centos 构建完只有 560MB
  • 官方地址【先把包下载下来】:Release WebVirtMgr · retspen/webvirtmgr · GitHub
FROM docker.m.daocloud.io/centos:7.6.1810ADD start.sh /start.sh
ADD webvirtmgr-4.8.9.tar.gz /WORKDIR /webvirtmgr-4.8.9# yum 相关的依赖
RUN rm -f /etc/yum.repos.d/*.repo && \curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo && \yum install -y epel* && \yum install -y python-pip libvirt-python libxml2-python python-websockify gcc python-devel && \yum clean all# python 相关的依赖
RUN pip install numpy==1.16.3 -i https://mirrors.aliyun.com/pypi/simple/ && \pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ && \echo no | python manage.py syncdb && \echo yes | python manage.py collectstatic# webvirtmgr 通过 tcp 连接 kvm 相关的依赖
RUN yum install -y cyrus-sasl cyrus-sasl-scram cyrus-sasl-devel cyrus-sasl-md5 && \yum clean allCMD ["/usr/bin/bash","/start.sh"]

这里是 ADD 里面的启动脚本 start.sh,本地记得 chmod +x start.sh 加个执行权限

echo "from django.contrib.auth.models import User; User.objects.create_superuser('admin', 'admin@localhost', '1qaz@WSX')" | /usr/bin/python /webvirtmgr-4.8.9/manage.py shell
/usr/bin/python /webvirtmgr-4.8.9/manage.py run_gunicorn --bind 0.0.0.0:8000 --log-file /webvirtmgr-4.8.9/webvirtmgr.log --daemon
if [ $? -eq 0 ];thennohup /usr/bin/python /webvirtmgr-4.8.9/console/webvirtmgr-console &> /dev/null &sleep 3tail -f /webvirtmgr-4.8.9/webvirtmgr.log
fi

构建镜像

docker build -t webvirtmgr:4.8.9-centos-7.6 .

启动 webvirtmgr

启动参数仅供参考,里面有些配置是我本地环境相关的

  • 如果 kvm 和 webvirtmgr 是相同机器,可以把 /var/run/libvirt/libvirt-sock 文件带入到容器内,就可以实现 local socket 的方式连接 kvm 宿主机了
docker run -d \
--restart=always \
--network host \
--memory 1024m \
--name webvirtmgr \
-v /var/run/libvirt/libvirt-sock:/var/run/libvirt/libvirt-sock \
webvirtmgr:4.8.9-centos-7.6
创建其他 superuser

进入 webvirtmgr 容器

docker exec -it webvirtmgr bash

创建其他超级用户

python manage.py createsuperuser

浏览器访问 IP:8000 看看能不能访问到 webvirtmgr 的页面

在这里插入图片描述

默认的用户名是 admin,密码是 1qaz@WSX,在启动脚本里面可以找到

修改密码:python manage.py changepassword admin

配置 nginx 反向代理和域名访问

这一步不是必须的,有需求就做,这里也是用的 docker 容器的方式运行的,下面是需要打包到容器内的配置文件

user  nginx;
worker_processes  auto;error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;events {worker_connections  1024;
}http {include       /etc/nginx/mime.types;default_type  application/octet-stream;log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';# access_log  /var/log/nginx/access.log  main;# sendfile        on;# tcp_nopush     on;keepalive_timeout  65;gzip  on;server {listen       80;# 这里的域名,修改成自己的server_name  virtmgr.icu;# access_log /var/log/nginx/webvirtmgr_access_log;location / {proxy_pass http://192.168.18.222:8000;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-for $proxy_add_x_forwarded_for;proxy_set_header Host $host:$server_port;proxy_set_header X-Forwarded-Proto $scheme;proxy_connect_timeout 600;proxy_read_timeout 600;proxy_send_timeout 600;# 这里的配置,也可以再放大一点,这个会影响 iso 镜像的上传## 如果直接放到指定的 iso 目录下,那就不受影响client_max_body_size 5120M;}location /static {proxy_pass http://192.168.18.222:8000/static;}}
}

下面是 Dockerfile

FROM docker.m.daocloud.io/nginx:1.26.0
ADD ./nginx.conf /etc/nginx/nginx.conf

构建镜像

docker build -t webvirtmgr-static:4.8.9-nginx-1.26.0 .

启动镜像

docker run -d --rm \
-p 80:80 \
--memory 200m \
--name webvirtmgr-static \
webvirtmgr-static:4.8.9-nginx-1.26.0

使用域名访问,域名没有 dns 解析的,可以本地自己配置一下 hosts

 纳管KVM 宿主机,采用ssh方式

进入 webvirtmgr 容器

docker exec -it webvirtmgr bash
cd ~ssh-keygen 

一直选择y

ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.100.234

测试免密是否生效:

ssh root@192.168.100.234

免密没问题就可以在界面加入要管理的KVM宿主机了

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com