简易Docker娱乐环境架设

banner

前言

作为一个热爱折腾(摸鱼)、却又非IT相关专业出身的学渣,笔者时常面临到的一大问题就是:自身的技术力无法搞定想要实现的需求,尤其是面临成堆需要修改的代码时,原本想要折腾的好心情都会被磨损掉一大截,最终搞得痛苦万分。当然有人可能会说:技术力不够,你可以去学啊!客观的来说,没错,投入大量时间学习总是能解决问题的。然而,折腾这件事,与我而言本就是和打游戏一类的、用来快速推进时间的娱乐活动,本学渣肯定是不可能上心去认真研究+学习的,在这种情况下如果遇到技术瓶颈,本人便只好放弃想要实现的需求。

然而,随着新的低门槛技术的出现,如近些年流行起来的Docker,以往遥不可及的事情也变得简单起来。Docker由于其容器的打包特性,即将大部分的技术细节都封装到了单独的容器内,对外只暴露服务,使用极其简单,只需要在宏观层面理解即可,无需深入代码细节,这有效的补足了本人许多曾经束手无策的需求。

当然,笔者这里说的Docker“简单”,只是基于本人技术力弱的视角,相对本人使用其他工具的体验而言的,企业级的大规模Docker解决方案还是很复杂的,但既然我也不靠Docker吃饭,“简单”的Docker也便足够了。


Docker技术简介

正式开始前,还是有必要简单介绍一下Docker是什么。

根据其官方文档:

Docker is an open platform for developing, shipping, and running applications. Docker enables you to separate your applications from your infrastructure so you can deliver software quickly. With Docker, you can manage your infrastructure in the same ways you manage your applications. By taking advantage of Docker’s methodologies for shipping, testing, and deploying code quickly, you can significantly reduce the delay between writing code and running it in production.

简单来说它实现了:将一次写码的东西打包,日后直接部署而无需重复写码。是一个轻量级的软件虚拟化平台。

当然了,对于非码农用户来说,写码这一步是不存在的,只要部署使用大佬们写好的东西即可。

例如:我现在想要部署一个Minecraft服务端来进行联机游戏,传统的方式是先在服务器机器上安装java,之后下载Minecraft的jar文件,然后再进行一系列的优化配置,写bash启动文件,最后启动服务器。

可以说,上述操作虽然不难,但也已经超出了很多玩家的能力。许多玩家都一定在什么时候有过想开服务器的需求,但却被流程的繁琐所劝退。

而如果使用Docker,事情就会变得简单很多:你只需要在DockerHub 上确认有大佬写过MC开服的镜像,接下来只用敲两行指令:一行用来将大佬的包复制到本地,另一行代码用来开启服务器,便搞定了。


安装环境准备

安装环境仍然是本学渣习惯的模式:VMWare下建立一台Ubuntu的虚拟机,命名为’Docker’。具体细节不赘述了。


安装过程

Docker本体安装

首先更新软件列表

1
sudo apt-get update

通过以下代码启动支持HTTPS安装

1
2
3
4
5
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release

添加GPG key

1
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

添加stable版本的库

1
2
3
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

本体安装

1
2
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

图形化管理界面:Portainer安装

有了基础的Docker环境,原理上已经可以进行所有的部署配置操作,然而,纯命令行的界面并不易于使用,此时安装一个图形化的管理界面便可以方便我们的使用。

Docker的图形化管理界面较有名的有YachtPortainer。个人更习惯于用Portainer,故在此安装Portainer。

命令如下:

首先创建一个供Portainer使用的卷。

1
docker volume create portainer_data

然后一键部署。

1
2
3
4
5
docker run -d -p 8000:8000 -p 9443:9443 --name portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:2.11.0

之后浏览器访问IP:9443便可进入Portainer界面