如果您在云中有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