• 容器技术之LXC WEB管理工具LXC WEB Panel


      前一篇博文中主要说了下,lxc容器在Linux上的简单管理,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/12901493.html;今天我们来介绍下lxc的图像管理工具LXC WEB Panel;

      项目下载地址:https://github.com/lxc-webpanel/LXC-Web-Panel.git

      1、安装python-flask

    [root@lxc ~]# yum install python-flask
    Loaded plugins: fastestmirror
    base                                                               | 3.6 kB  00:00:00     
    epel                                                               | 4.7 kB  00:00:00     
    extras                                                             | 2.9 kB  00:00:00     
    updates                                                            | 2.9 kB  00:00:00     
    (1/2): epel/x86_64/updateinfo                                      | 1.0 MB  00:00:00     
    (2/2): epel/x86_64/primary_db                                      | 6.8 MB  00:00:01     
    Loading mirror speeds from cached hostfile
     * base: mirrors.aliyun.com
     * extras: mirrors.aliyun.com
     * updates: mirrors.aliyun.com
    Resolving Dependencies
    --> Running transaction check
    ---> Package python-flask.noarch 1:0.10.1-5.el7_7 will be installed
    --> Processing Dependency: python-werkzeug for package: 1:python-flask-0.10.1-5.el7_7.noarch
    --> Processing Dependency: python-jinja2 for package: 1:python-flask-0.10.1-5.el7_7.noarch
    --> Processing Dependency: python-itsdangerous for package: 1:python-flask-0.10.1-5.el7_7.noarch
    --> Running transaction check
    ---> Package python-itsdangerous.noarch 0:0.23-2.el7 will be installed
    ---> Package python-jinja2.noarch 0:2.7.2-4.el7 will be installed
    --> Processing Dependency: python-babel >= 0.8 for package: python-jinja2-2.7.2-4.el7.noarch
    --> Processing Dependency: python-markupsafe for package: python-jinja2-2.7.2-4.el7.noarch
    ---> Package python-werkzeug.noarch 0:0.9.1-2.el7 will be installed
    --> Running transaction check
    ---> Package python-babel.noarch 0:0.9.6-8.el7 will be installed
    ---> Package python-markupsafe.x86_64 0:0.11-10.el7 will be installed
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ==========================================================================================
     Package                     Arch           Version                  Repository      Size
    ==========================================================================================
    Installing:
     python-flask                noarch         1:0.10.1-5.el7_7         extras         205 k
    Installing for dependencies:
     python-babel                noarch         0.9.6-8.el7              base           1.4 M
     python-itsdangerous         noarch         0.23-2.el7               extras          24 k
     python-jinja2               noarch         2.7.2-4.el7              base           519 k
     python-markupsafe           x86_64         0.11-10.el7              base            25 k
     python-werkzeug             noarch         0.9.1-2.el7              extras         562 k
    
    Transaction Summary
    ==========================================================================================
    Install  1 Package (+5 Dependent packages)
    
    Total download size: 2.7 M
    Installed size: 12 M
    Is this ok [y/d/N]: y
    Downloading packages:
    (1/6): python-flask-0.10.1-5.el7_7.noarch.rpm                      | 205 kB  00:00:00     
    (2/6): python-itsdangerous-0.23-2.el7.noarch.rpm                   |  24 kB  00:00:00     
    (3/6): python-babel-0.9.6-8.el7.noarch.rpm                         | 1.4 MB  00:00:00     
    (4/6): python-markupsafe-0.11-10.el7.x86_64.rpm                    |  25 kB  00:00:00     
    (5/6): python-jinja2-2.7.2-4.el7.noarch.rpm                        | 519 kB  00:00:00     
    (6/6): python-werkzeug-0.9.1-2.el7.noarch.rpm                      | 562 kB  00:00:00     
    ------------------------------------------------------------------------------------------
    Total                                                     3.0 MB/s | 2.7 MB  00:00:00     
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
      Installing : python-werkzeug-0.9.1-2.el7.noarch                                     1/6 
      Installing : python-itsdangerous-0.23-2.el7.noarch                                  2/6 
      Installing : python-babel-0.9.6-8.el7.noarch                                        3/6 
      Installing : python-markupsafe-0.11-10.el7.x86_64                                   4/6 
      Installing : python-jinja2-2.7.2-4.el7.noarch                                       5/6 
      Installing : 1:python-flask-0.10.1-5.el7_7.noarch                                   6/6 
      Verifying  : python-markupsafe-0.11-10.el7.x86_64                                   1/6 
      Verifying  : python-babel-0.9.6-8.el7.noarch                                        2/6 
      Verifying  : python-itsdangerous-0.23-2.el7.noarch                                  3/6 
      Verifying  : python-jinja2-2.7.2-4.el7.noarch                                       4/6 
      Verifying  : 1:python-flask-0.10.1-5.el7_7.noarch                                   5/6 
      Verifying  : python-werkzeug-0.9.1-2.el7.noarch                                     6/6 
    
    Installed:
      python-flask.noarch 1:0.10.1-5.el7_7                                                    
    
    Dependency Installed:
      python-babel.noarch 0:0.9.6-8.el7          python-itsdangerous.noarch 0:0.23-2.el7      
      python-jinja2.noarch 0:2.7.2-4.el7         python-markupsafe.x86_64 0:0.11-10.el7       
      python-werkzeug.noarch 0:0.9.1-2.el7      
    
    Complete!
    [root@lxc ~]# 
    

      提示:LXC WEB Panel是用flask框架研发,所以依赖python-flask这个包,当然也可以用pip去下载这个也是可以的

      pip安装flask,首先要安装python-pip

    [root@docker_node1 ~]# yum install python-pip
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
     * base: mirrors.aliyun.com
     * extras: mirrors.aliyun.com
     * updates: mirrors.aliyun.com
    Resolving Dependencies
    --> Running transaction check
    ---> Package python2-pip.noarch 0:8.1.2-12.el7 will be installed
    --> Processing Dependency: python-setuptools for package: python2-pip-8.1.2-12.el7.noarch
    --> Running transaction check
    ---> Package python-setuptools.noarch 0:0.9.8-7.el7 will be installed
    --> Processing Dependency: python-backports-ssl_match_hostname for package: python-setuptools-0.9.8-7.el7.noarch
    --> Running transaction check
    ---> Package python-backports-ssl_match_hostname.noarch 0:3.5.0.1-1.el7 will be installed
    --> Processing Dependency: python-ipaddress for package: python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch
    --> Processing Dependency: python-backports for package: python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch
    --> Running transaction check
    ---> Package python-backports.x86_64 0:1.0-8.el7 will be installed
    ---> Package python-ipaddress.noarch 0:1.0.16-2.el7 will be installed
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ========================================================================================
     Package                                 Arch       Version              Repository
                                                                                       Size
    ========================================================================================
    Installing:
     python2-pip                             noarch     8.1.2-12.el7         epel     1.7 M
    Installing for dependencies:
     python-backports                        x86_64     1.0-8.el7            base     5.8 k
     python-backports-ssl_match_hostname     noarch     3.5.0.1-1.el7        base      13 k
     python-ipaddress                        noarch     1.0.16-2.el7         base      34 k
     python-setuptools                       noarch     0.9.8-7.el7          base     397 k
    
    Transaction Summary
    ========================================================================================
    Install  1 Package (+4 Dependent packages)
    
    Total download size: 2.1 M
    Installed size: 9.4 M
    Is this ok [y/d/N]: y
    Downloading packages:
    (1/5): python-backports-1.0-8.el7.x86_64.rpm                     | 5.8 kB  00:00:00     
    (2/5): python-ipaddress-1.0.16-2.el7.noarch.rpm                  |  34 kB  00:00:00     
    (3/5): python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch. |  13 kB  00:00:00     
    (4/5): python-setuptools-0.9.8-7.el7.noarch.rpm                  | 397 kB  00:00:00     
    (5/5): python2-pip-8.1.2-12.el7.noarch.rpm                       | 1.7 MB  00:00:00     
    ----------------------------------------------------------------------------------------
    Total                                                      2.3 MB/s | 2.1 MB  00:00     
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
      Installing : python-backports-1.0-8.el7.x86_64                                    1/5 
      Installing : python-ipaddress-1.0.16-2.el7.noarch                                 2/5 
      Installing : python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch             3/5 
      Installing : python-setuptools-0.9.8-7.el7.noarch                                 4/5 
      Installing : python2-pip-8.1.2-12.el7.noarch                                      5/5 
      Verifying  : python-ipaddress-1.0.16-2.el7.noarch                                 1/5 
      Verifying  : python-setuptools-0.9.8-7.el7.noarch                                 2/5 
      Verifying  : python2-pip-8.1.2-12.el7.noarch                                      3/5 
      Verifying  : python-backports-1.0-8.el7.x86_64                                    4/5 
      Verifying  : python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch             5/5 
    
    Installed:
      python2-pip.noarch 0:8.1.2-12.el7                                                     
    
    Dependency Installed:
      python-backports.x86_64 0:1.0-8.el7                                                   
      python-backports-ssl_match_hostname.noarch 0:3.5.0.1-1.el7                            
      python-ipaddress.noarch 0:1.0.16-2.el7                                                
      python-setuptools.noarch 0:0.9.8-7.el7                                                
    
    Complete!
    [root@docker_node1 ~]# pip -V
    pip 8.1.2 from /usr/lib/python2.7/site-packages (python 2.7)
    [root@docker_node1 ~]# 
    

      提示:默认yum安装的pip默认是python2.7的pip版本是8.1.2,我们使用pip安装flask会提示我们pip版本低,如果你不想看到提示我们版本pip版本过低可以选择pip install --upgrade pip命令对pip进行版本更新

      安装flask

    [root@docker_node1 ~]# pip install flask
    Collecting flask
      Downloading https://files.pythonhosted.org/packages/f2/28/2a03252dfb9ebf377f40fba6a7841b47083260bf8bd8e737b0c6952df83f/Flask-1.1.2-py2.py3-none-any.whl (94kB)
        100% |████████████████████████████████| 102kB 11kB/s 
    Collecting Jinja2>=2.10.1 (from flask)
      Downloading https://files.pythonhosted.org/packages/30/9e/f663a2aa66a09d838042ae1a2c5659828bb9b41ea3a6efa20a20fd92b121/Jinja2-2.11.2-py2.py3-none-any.whl (125kB)
        100% |████████████████████████████████| 133kB 10kB/s 
    Collecting itsdangerous>=0.24 (from flask)
      Downloading https://files.pythonhosted.org/packages/76/ae/44b03b253d6fade317f32c24d100b3b35c2239807046a4c953c7b89fa49e/itsdangerous-1.1.0-py2.py3-none-any.whl
    Collecting click>=5.1 (from flask)
      Downloading https://files.pythonhosted.org/packages/d2/3d/fa76db83bf75c4f8d338c2fd15c8d33fdd7ad23a9b5e57eb6c5de26b430e/click-7.1.2-py2.py3-none-any.whl (82kB)
        100% |████████████████████████████████| 92kB 10kB/s 
    Collecting Werkzeug>=0.15 (from flask)
      Downloading https://files.pythonhosted.org/packages/cc/94/5f7079a0e00bd6863ef8f1da638721e9da21e5bacee597595b318f71d62e/Werkzeug-1.0.1-py2.py3-none-any.whl (298kB)
        100% |████████████████████████████████| 307kB 9.8kB/s 
    Collecting MarkupSafe>=0.23 (from Jinja2>=2.10.1->flask)
      Downloading https://files.pythonhosted.org/packages/fb/40/f3adb7cf24a8012813c5edb20329eb22d5d8e2a0ecf73d21d6b85865da11/MarkupSafe-1.1.1-cp27-cp27mu-manylinux1_x86_64.whl
    Installing collected packages: MarkupSafe, Jinja2, itsdangerous, click, Werkzeug, flask
    Successfully installed Jinja2-2.11.2 MarkupSafe-1.1.1 Werkzeug-1.0.1 click-7.1.2 flask-1.1.2 itsdangerous-1.1.0
    You are using pip version 8.1.2, however version 20.1 is available.
    You should consider upgrading via the 'pip install --upgrade pip' command.
    [root@docker_node1 ~]# pip list|grep "Flask"
    Flask (1.1.2)
    You are using pip version 8.1.2, however version 20.1 is available.
    You should consider upgrading via the 'pip install --upgrade pip' command.
    [root@docker_node1 ~]# 
    

      提示:可以看到flask已经安装,版本是1.1.2

      2、安装debootstrap

    [root@docker_node1 ~]# yum install -y debootstrap
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
     * base: mirrors.aliyun.com
     * extras: mirrors.aliyun.com
     * updates: mirrors.aliyun.com
    Resolving Dependencies
    --> Running transaction check
    ---> Package debootstrap.noarch 0:1.0.109-2.el7 will be installed
    --> Processing Dependency: dpkg for package: debootstrap-1.0.109-2.el7.noarch
    --> Running transaction check
    ---> Package dpkg.x86_64 0:1.18.25-9.el7 will be installed
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ========================================================================================
     Package               Arch             Version                    Repository      Size
    ========================================================================================
    Installing:
     debootstrap           noarch           1.0.109-2.el7              epel            84 k
    Installing for dependencies:
     dpkg                  x86_64           1.18.25-9.el7              epel           1.3 M
    
    Transaction Summary
    ========================================================================================
    Install  1 Package (+1 Dependent package)
    
    Total download size: 1.4 M
    Installed size: 6.2 M
    Downloading packages:
    (1/2): debootstrap-1.0.109-2.el7.noarch.rpm                      |  84 kB  00:00:00     
    (2/2): dpkg-1.18.25-9.el7.x86_64.rpm                             | 1.3 MB  00:00:00     
    ----------------------------------------------------------------------------------------
    Total                                                      2.6 MB/s | 1.4 MB  00:00     
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
      Installing : dpkg-1.18.25-9.el7.x86_64                                            1/2 
      Installing : debootstrap-1.0.109-2.el7.noarch                                     2/2 
      Verifying  : debootstrap-1.0.109-2.el7.noarch                                     1/2 
      Verifying  : dpkg-1.18.25-9.el7.x86_64                                            2/2 
    
    Installed:
      debootstrap.noarch 0:1.0.109-2.el7                                                    
    
    Dependency Installed:
      dpkg.x86_64 0:1.18.25-9.el7                                                           
    
    Complete!
    [root@docker_node1 ~]# 

      提示:在创建ubuntu容器时,需要依赖debootstrap;

      3、安装LXC组件

      请参考https://www.cnblogs.com/qiuhom-1874/p/12901493.html;如果你的主机已经安装这一步可以跳过

      4、克隆LXC WEB Panel项目到本地

    [root@docker_node1 ~]# git clone https://github.com/lxc-webpanel/LXC-Web-Panel.git
    Cloning into 'LXC-Web-Panel'...
    remote: Enumerating objects: 243, done.
    remote: Total 243 (delta 0), reused 0 (delta 0), pack-reused 243
    Receiving objects: 100% (243/243), 198.33 KiB | 205.00 KiB/s, done.
    Resolving deltas: 100% (108/108), done.
    [root@docker_node1 ~]# ls
    LXC-Web-Panel
    [root@docker_node1 ~]# cd LXC-Web-Panel/
    [root@docker_node1 LXC-Web-Panel]#
    

      5、启动LXC WEB Panel

      提示:成功启动LXC WEB Panel后,会像上图一样,提示我们访问本机的5000端口;

      到此LXC WEB Panel就搭建好了,接下来我们就可以访问5000端口,登录LXC WEB Panel来管理我们的LXC容器了;

      提示:默认用户名和密码是admin

      提示:登录LXC WEB Panel后,在没有容器的情况下会提示我们创建容器,这里需要注意的是,如果你的主机上没有虚拟的网桥,要创建网桥,在新建容器,否则新建的容器无法启动;

     

      新建网桥请参考https://www.cnblogs.com/qiuhom-1874/p/12901493.html;本人用图形界面去创建网络会报错,不知道哪里的原因;只好手动去Linux shell终端上创建好了;

      创建好网桥后,再来启动刚才创建好的容器,就可以正常启动了

      提示:可以看到我们创建了网桥后就可以正常启动容器了;如果你主机上有其他网桥也是可以的,我们可以编辑u1,把你主机上有的网桥和类型对应起来,给定一个ip地址,然后启动就没有问题;如下所示

      提示:link其他网络需要注意类型,上面docker0桥同virbr0都是虚拟网桥,所以类型是veth;这里还需要注意,如果类型填错了,会导致服务不可用,解决办法是删除/var/lib/lxc/对应容器的名的目录,然后重新启动 LXC WEB Penal;以上就是 LXC的图形管理工具LXC WEB Penal的简单管理,更多的管理可以自己搭建一个玩玩;

  • 相关阅读:
    怎样编写一个Photoshop滤镜(1)
    蜂窝状网格的定位方法
    【转载】[TC]飞船动画例子《C高级实用程序设计》
    【完全随笔】用户体验和设计
    在 WinCe 平台读写 ini 文件
    关于携带完整 alpha 通道图标的技术研究
    【转载】When should static_cast, dynamic_cast and reinterpret_cast be used?
    怎样编写一个Photoshop滤镜(3) Scripting Plugins
    配电网WebGIS研究与开发[5]
    配电网WebGIS研究与开发[4]
  • 原文地址:https://www.cnblogs.com/qiuhom-1874/p/12904188.html
Copyright © 2020-2023  润新知