1、部署docker引擎

只有部署了docker引擎,docker容器才能在任何不同主机环境运行。

[root@master ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
[root@master ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@master ~]# yum makecache fast
[root@master ~]# yum install docker-ce -y
[root@master ~]# systemctl restart docker
[root@master ~]# systemctl enable docker

2、部署docker-compose

docker-compose是用来做docker的多容器控制,有了docker-compose,我们可以把所有繁复的docker操作全都一条命令,自动化的完成。

使用Docker容器构建Linux云桌面环境_linux

编写好docker-compose.yml文件后,只需要运行一句:

docker-compose up -d

即可实现所有容器的启动

要使用docker-compose,需要安装一个docker-compose工具,安装方法很简单,在Linux 系统上直接下载对应的二进制包即可。

[root@localhost ~]# curl -L https://github.com/docker/compose/releases/download/1.28.3/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
[root@localhost ~]# chmod +x /usr/local/bin/docker-compose

3、下载Linux桌面云docker镜像

获取镜像是实现功能的第一步,这里分享一个我已经制作好的Linux云桌面镜像:下载镜像:

docker pull  swr.cn-north-1.myhuaweicloud.com/iivey/linux-desk:v1.0

此镜像放在华为云镜像仓库中,可直接下载,无需登录。

4、运行Linux桌面云环境

下载镜像后,就可以直接运行镜像,这样镜像对应的容器服务就运行起来了。

下面是通过docker命令方式运行容器:

docker run -itd --shm-size 4G  -p 6080:6080  -e VNC_PASSWD=admin123456 -e GEOMETRY='1366x768'  -e DEPTH=32  -v /data3/Downloads:/root/Downloads  -v /data3/Documents:/root/Documents  -v /data3/Pictures:/root/Pictures  -v /data3/Videos:/root/Videos  -v /data3/Music:/root/Music  -v /data3/Desktop:/root/Desktop --restart unless-stopped --name linuxdesk swr.cn-north-1.myhuaweicloud.com/iivey/linux-desk:v1.0

Docker命令方式运行docker容器,虽然简单,但是命令很长,比较容器出错,其实,也可以通过docker-compose方式启动和管理Linux云桌面环境。

右边是使用docker-compose方式启动Linux云桌面环境对应的docker-compose.yml文件内容。

version: '3.5'

services:
ubuntu-xfce-vnc:
container_name: linux-desk
image: swr.cn-north-1.myhuaweicloud.com/iivey/linux-desk:v1.0
shm_size: "1gb"
ports:
- 5900:5900
- 6080:6080
environment:
- VNC_PASSWD=admin123456
- GEOMETRY=1280x720
- DEPTH=24
volumes:
- ./Downloads:/root/Downloads
- ./Documents:/root/Documents
- ./Pictures:/root/Pictures
- ./Videos:/root/Videos
- ./Music:/root/Music
- ./Desktop:/root/Desktop
restart: unless-stopped

使用Docker容器构建Linux云桌面环境_linux_02