本文简述如何用群晖的docker虚拟机建立virt-manager环境,并用ssh连接到docker虚拟机。

接下来以debian Linux作演示:

首先到群晖套件中心安装docker虚拟机,之后在切换到注册表页面,在搜索栏输入debian,搜到后双击debian镜像,等一会儿会弹出选择标签对话框,选jessie或latest。之后开始下载镜像,因docker池在国外,下载比较慢,可以在映像页面查看下载进度。

切换到映像页面,选中下载好的debian镜像,点启动按钮,在弹出的对话框中先在容器名称输入框给容器取个名字。接下来点高级设置按钮进一步配置相关环境。

高级设置页面,勾上创建桌面快捷方式,便于后续操作。

切换到页面,点击添加文件夹,把群晖的docker文件夹装载到虚拟机的/dsm下。可以随意选择需要加载的文件夹,主要用于和群晖系统进行数据交换。如不需要和群晖系统交换数据或文件,可以忽略这一步。

进入端口设置页面,添加一个端口,本地端口可以让docker自动分配,也可以输入固定的端口号(推荐使用),比如32774,容器端口填22。这里把群晖的32774端口映射到容器的22(ssh默认端口)端口,便于后面ssh到docker虚拟机。

配置好后点下一步按钮。

确认设置没有问题后点应用按钮,有问题点上一步按钮进行修改。

完成debian虚拟机创建后在群晖桌面可以看到图标,点击运行,切换到终端机页面。

首先对系统进行补丁更新,建议更换163的debian源,更新速度快一点。

从163网站下载sources.list文件(点此下载),放到/docker目录下,重命名把.jessie后缀删除。

执行cp /dsm/sources.list /etc/apt/.把sources.list覆盖debian默认配置。

cp /dsm/sources.list /etc/apt/.

接下来分别执行apt-get updateapt-get upgrade进行系统升级。

apt-get update
apt-get upgrade

执行dpkg-reconfigure tzdata命令,修改时区,否则系统时间是格林威治标准时间。

dpkg-reconfigure tzdata

洲选6. Asia,城市选69. Shanghai

执行apt-get install openssh-server安装ssh服务端,执行apt-get install vim安装编辑器。

apt-get install openssh-server
apt-get install vim

执行vim /etc/ssh/sshd_config修改ssh配置,把PermitRootLogin without-password改为PermitRootLogin yes

vim /etc/ssh/sshd_config

执行/etc/init.d/ssh start启动ssh服务。

/etc/init.d/ssh start

执行apt-get install virt-manager安装virt-manager图形化虚拟机管理软件包。

apt-get install virt-manager

安装过程提示选择编码,选9. ISO-8859-1,字符集选11. # Latin1

最后记得修改root用户的密码,执行passwd

passwd

以上步骤完成docker虚拟机debian的所有设置。

最后通过putty和xming连接虚拟机,putty和xming设置教程参见文末链接。

注意:在putty界面的Port输入32774,会自动映射到debian虚拟机的ssh 22端口。该端口号是在创建容器过程设置的,请根据实际设置的端口号填入。Host Name(or IP address)输入群晖主机IP地址。

在debian下执行virt-manager命令,就会调出Virtual Machine Manager图形管理界面。

virt-manager

 

参考:

debian 163源配置文件:http://mirrors.163.com/.help/sources.list.jessie

putty+xming教程:http://www.zw1840.com/blog/zw1840/2008/10/putty-xming-linux-gui.html

群晖kvm虚拟机教程:https://blog.oldghost.net:888/synology-nas-kvm-turtorial.html

2 对 “群晖(Synology)docker ssh和virt-manager环境搭建”的想法;

  1. 在执行Virtual Machine Manager出错,请问是什么问题?
    (virt-manager:9780): Gtk-CRITICAL **: gtk_settings_get_for_screen: assertion ‘GDK_IS_SCREEN (screen)’ failed
    /usr/lib/python2.7/dist-packages/gi/overrides/__init__.py:175: Warning: invalid (NULL) pointer instance
    return super_init_func(self, **new_kwargs)
    /usr/lib/python2.7/dist-packages/gi/overrides/__init__.py:175: Warning: g_signal_connect_object: assertion ‘G_TYPE_CHECK_INSTANCE (instance)’ failed
    return super_init_func(self, **new_kwargs)

    (virt-manager:9780): Gtk-CRITICAL **: gtk_settings_get_for_screen: assertion ‘GDK_IS_SCREEN (screen)’ failed

    (virt-manager:9780): Gtk-CRITICAL **: _gtk_settings_get_style_cascade: assertion ‘GTK_IS_SETTINGS (settings)’ failed

  2. @sandy
    你需要搭建X11环境,详见这个教程http://www.zw1840.com/blog/zw1840/2008/10/putty-xming-linux-gui.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注