Apache Guacamole是无客户端远程桌面网关。之所以称为无客户端网关,是因为不需要插件或客户端软件。该实用程序提供了一个HTML5界面,用于启动远程会话。只要您具有浏览器,就不需要安装其他特殊的客户端软件。支持以下常用协议:VNC,RDP,SSH,Telnet。

建筑
鳄梨调味酱包含以下成分:

鳄梨酱建筑
  • 鳄梨酱服务器(Tomcat Servlet容器)
  • 鳄梨酱代理服务器(guacd),建立远程连接
  • 远程主机–可通过上述协议访问

鳄梨酱服务器可以联系多个代理服务器。使用此功能,可以使用一个前端访问多个网段中的桌面。

在本文中,我将介绍一种在Azure免费层云VM中设置Guacamole服务器的方法。我在Docker Web UI Portainer的帮助下使用docker技术,将鳄梨酱docker部署到Linux虚拟机中。 

我录制了一个YouTube视频,记录了整个过程,并将其发布在这篇文章的结尾。阅读这篇文章后,您可以查看一下。同样,整个基础架构都基于Azure免费层Linux机器,我在其中安装了整个docker软件包。

在安装Docker软件包之前,请先更新Ubuntu系统上的存储库并升级软件包。

sudo apt update 
sudo apt upgrade

1.部署Docker
现在使用下面的apt命令安装docker。

sudo apt install docker.io -y
[email protected]:~$ sudo apt install docker.io -y
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  bridge-utils cgroupfs-mount containerd pigz runc ubuntu-fan
Suggested packages:
  ifupdown aufs-tools debootstrap docker-doc rinse zfs-fuse | zfsutils
The following NEW packages will be installed:
  bridge-utils cgroupfs-mount containerd docker.io pigz runc ubuntu-fan
0 upgraded, 7 newly installed, 0 to remove and 0 not upgraded.
Need to get 52.2 MB of archives.
After this operation, 257 MB of additional disk space will be used.
Get:1 http://azure.archive.ubuntu.com/ubuntu bionic/universe amd64 pigz amd64 2.4-1 [57.4 kB]
Get:2 http://azure.archive.ubuntu.com/ubuntu bionic/main amd64 bridge-utils amd64 1.5-15ubuntu1 [30.1 kB]
Get:3 http://azure.archive.ubuntu.com/ubuntu bionic/universe amd64 cgroupfs-mount all 1.4 [6320 B]
Get:4 http://azure.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 runc amd64 1.0.0~rc7+git20190403.029124da-0ubuntu1~18.04.1 [1902 kB]
Get:5 http://azure.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 containerd amd64 1.2.6-0ubuntu1~18.04.1 [19.4 MB]
Get:6 http://azure.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 docker.io amd64 18.09.5-0ubuntu1~18.04.2 [30.7 MB]
Get:7 http://azure.archive.ubuntu.com/ubuntu bionic/main amd64 ubuntu-fan all 0.12.10 [34.7 kB]
Fetched 52.2 MB in 3s (15.7 MB/s)
Preconfiguring packages ...
Selecting previously unselected package pigz.
(Reading database ... 80108 files and directories currently installed.)
Preparing to unpack .../0-pigz_2.4-1_amd64.deb ...
Unpacking pigz (2.4-1) ...
Selecting previously unselected package bridge-utils.
Preparing to unpack .../1-bridge-utils_1.5-15ubuntu1_amd64.deb ...
Unpacking bridge-utils (1.5-15ubuntu1) ...
Selecting previously unselected package cgroupfs-mount.
Preparing to unpack .../2-cgroupfs-mount_1.4_all.deb ...
Unpacking cgroupfs-mount (1.4) ...
Selecting previously unselected package runc.
Preparing to unpack .../3-runc_1.0.0~rc7+git20190403.029124da-0ubuntu1~18.04.1_amd64.deb ...
Unpacking runc (1.0.0~rc7+git20190403.029124da-0ubuntu1~18.04.1) ...
Selecting previously unselected package containerd.
Preparing to unpack .../4-containerd_1.2.6-0ubuntu1~18.04.1_amd64.deb ...
Unpacking containerd (1.2.6-0ubuntu1~18.04.1) ...
Selecting previously unselected package docker.io.
Preparing to unpack .../5-docker.io_18.09.5-0ubuntu1~18.04.2_amd64.deb ...
Unpacking docker.io (18.09.5-0ubuntu1~18.04.2) ...
Selecting previously unselected package ubuntu-fan.
Preparing to unpack .../6-ubuntu-fan_0.12.10_all.deb ...
Unpacking ubuntu-fan (0.12.10) ...
Setting up runc (1.0.0~rc7+git20190403.029124da-0ubuntu1~18.04.1) ...
Processing triggers for ureadahead (0.100.0-21) ...
Setting up cgroupfs-mount (1.4) ...
Setting up containerd (1.2.6-0ubuntu1~18.04.1) ...
Created symlink /etc/systemd/system/multi-user.target.wants/containerd.service 鈫/lib/systemd/system/containerd.service.
Setting up bridge-utils (1.5-15ubuntu1) ...
Setting up ubuntu-fan (0.12.10) ...
Created symlink /etc/systemd/system/multi-user.target.wants/ubuntu-fan.service 鈫/lib/systemd/system/ubuntu-fan.service.
Processing triggers for systemd (237-3ubuntu10.21) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
Setting up pigz (2.4-1) ...
Setting up docker.io (18.09.5-0ubuntu1~18.04.2) ...
Adding group `docker' (GID 115) ...
Done.
Created symlink /etc/systemd/system/sockets.target.wants/docker.socket 鈫/lib/systemd/system/docker.socket.
Processing triggers for ureadahead (0.100.0-21) ...
Processing triggers for systemd (237-3ubuntu10.21) ...
[email protected]:~$ 

安装完成后,启动docker服务,并使它每次在系统引导时启动。

sudo systemctl start docker
sudo systemctl enable docker

码头工人 安装在ubuntu 18.04服务器上,请使用以下命令进行检查。

docker version
[email protected]:~$ docker version
Client:
 Version:           18.09.5
 API version:       1.39
 Go version:        go1.10.4
 Git commit:        e8ff056
 Built:             Thu May  9 23:11:19 2019
 OS/Arch:           linux/amd64
 Experimental:      false
Got permission denied while trying to connect to the  码头工人  daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.39/version: dial unix /var/run/docker.sock: connect: permission denied

2.部署Portainer

在安装Portainer之前,请使用下面的docker pull命令从DockerHub下载Portainer映像。

sudo docker pull portainer/portainer

现在,使用下面的简单docker命令运行Portainer。

sudo docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

Portainer现在作为容器运行,请使用docker ps命令对其进行检查。

sudo docker ps
[email protected]:~$ sudo docker pull portainer/portainer
Using default tag: latest
latest: Pulling from portainer/portainer
d1e017099d17: Pull complete 
fac26901c311: Pull complete 
Digest: sha256:cc226d8a06b6d5e24b44a4f10d0d1fd701741e84a852adc6d40bef9424a000ec
Status: Downloaded newer image for portainer/portainer:latest
[email protected]:~$ sudo docker volume create portainer_data
portainer_data
[email protected]:~$ sudo docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
836861e9d94fae0098c3a9dcfa7e437c5cd5dace6ea10ba02d3b9556dc295c9e
[email protected]:~$ 
[email protected]:~$ sudo docker ps
CONTAINER ID        IMAGE                 COMMAND             CREATED              STATUS              PORTS                    NAMES
836861e9d94f        portainer/portainer   "/portainer"        About a minute ago   Up About a minute   0.0.0.0:9000->9000/tcp   portainer
[email protected]:~$ 

请确保您的云入站端口规则允许tcp 9000进入。

现在,您可以使用虚拟机的公共ip:9000访问您的portainer。更多细节请参考我以前的文章:
//blog.fabiandinkins.com/2019/03/install-portainer-in-centos-ubuntu-and.html

3.通过Portainer部署鳄梨酱容器

标准步骤,使用从Dockerhub中提取的图像oznu / guacamole。

由于我将端口80用于鳄梨酱,所以我将主机端口80映射到了容器的8080。默认情况下,瓜鳄梨码头工人已经将端口8080设置为Web连接。

完成部署工作将需要3-4分钟。请耐心等待。图像为1.2 GB。

4.登录到Guacamole Web Gui
部署容器后,您可以尝试通过浏览器登录Web GUI。默认的用户名和密码为guacadmin。如果不起作用,请重新启动您的Guacamole泊坞窗。我以某种方式遇到了这个问题,但是重新启动docker使它对我有用。

5.创建一个新的SSH连接

所有配置都是基本的。选择正确的协议,主机名是IP地址,端口是tcp 22。 
鳄梨酱Web SSH登录

6.创建一个新的RDP连接

这是YouTube视频-使用Portainer部署Apache Guacamole;

参考文献:

通过 约翰

发表评论