如果您在云中有Linux桌面环境,这将对测试很有帮助。但是我不想安装桌面环境来污染我的Linux安装。如果我可以使用docker环境并在其中运行Linux桌面,那将是一个完美的解决方案。 

最近,我找到了一个Github项目“docker-ubuntu-vnc-desktop”以展示如何在docker中获得自己的Ubuntu桌面。我决定像使用其他Docker镜像一样使用Portainer来管理此docker。这是我执行其所有步骤的全部步骤。 

更改系统交换文件大小

它的大小通常与您的RAM相同。但是,如果您的RAM小于1GB,则可以使交换文件的大小增加一倍。

wget //raw.githubusercontent.com/51sec/swap/main/swap.sh && bash swap.sh
按照提示添加或删除交换文件的大小。您不需要重新启动,它将立即生效。

安装Docker和Docker Compose

1  Ubuntu 18.04的更新软件包列表和升级软件包

将Ubuntu更新和升级到最新版本 

$ sudo apt-get -y update && sudo apt-get -y upgrade

2  在Ubuntu上安装Docker

sudo apt install docker.io -y
sudo -i
systemctl start docker
systemctl enable docker
docker version
3  在Ubuntu上安装Docker Compose

这是使用1.19.0版的示例。您可能要检查 当前的版本 (当前为1.28.2)以更新命令。 

[email protected]:~# curl -L "//github.com/docker/compose/releases/download/1.19.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   651  100   651    0     0   7076      0 --:--:-- --:--:-- --:--:--  7076
100 8288k  100 8288k    0     0  4671k      0  0:00:01  0:00:01 --:--:-- 7520k
[email protected]:~# chmod +x /usr/local/bin/docker-compose

[email protected]:~# docker-compose version
docker-compose version 1.19.0, build 9e633ef
docker-py version: 2.7.0
CPython version: 2.7.13
OpenSSL version: OpenSSL 1.0.1t  3 May 2016
[email protected]:~#

如果是CentOS,则安装Docker的命令是不同的,但是对于Docker Compose,它们是相同的:

对于CentOS 7,安装Docker:

sudo -i
yum -y update
curl -sSL //get.docker.com/ | sh
systemctl start docker.service
systemctl enable docker.service
对于Ubuntu 20.04版本

#Ubuntu 20.04
sudo apt install docker.io
sudo apt install docker-compose

安装Portainer

用于安装最新的Portainer Docker的命令。  

docker volume create portainer_data
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
docker ps
使用浏览器访问URL http://<您的linuxserver的公共IP>:9000
第一次,它将要求您设置管理员用户的密码。

启动Docker-Ubuntu-VNC-Desktop的命令 

最初是从 docker-ubuntu-vnc-desktop,运行此docker的命令为:

docker run -p 6080:80 -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc
使用root用户的http基本身份验证密码:

docker run -p 6080:80 -e HTTP_PASSWORD=mypassword -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc

该容器已设置为使用主机的共享内存目录/ dev / shm。

我们可以看看的另一个有趣的Docker文件来自imlala / ubuntu-xfce-vnc-novnc:

version: '3.5'

services:
    ubuntu-xfce-vnc:
        container_name: xfce
        image: imlala/ubuntu-xfce-vnc-novnc:latest
        shm_size: "1gb"
        ports:
            - 5900:5900
            - 6080:6080
        environment: 
            - VNC_PASSWD=mypassword
            - GEOMETRY=1280x720
            - DEPTH=24
        volumes: 
            - ./Downloads:/root/Downloads
            - ./Documents:/root/Documents
            - ./Pictures:/root/Pictures
            - ./Videos:/root/Videos
            - ./Music:/root/Music
        restart: unless-stopped

使用Portainer启动Docker-Ubuntu-VNC-Desktop 

从“ Portainer容器”页面创建一个新容器:

将重启策略设置为“除非停止”。

环境变量:
为了安全起见,我们可以添加一个变量HTTP-PASSWORD,值是您要设置的任何密码。 HTTP密码用于root用户。 

现在,使用浏览器浏览到http://<Public IP>:6080

参考

经过 乔恩

发表评论