0%

Docker搭建RPG小游戏

Docker镜像

Docker 镜像类似于虚拟机镜像,可以将它理解为⼀个只读的模板。
例如,⼀个镜像可以包含⼀个基本的操作系统环境,⾥⾯仅安装了Apache 应⽤程序(或
⽤⼾需要的其他软件) 。可以把它称为⼀个Apache 镜像。

Docker容器

Docker 容器类似于⼀个轻量级的沙箱, Docker 利⽤容器来运⾏和隔离应⽤。
容器是从镜像创建的应⽤运⾏实例。它可以启动、开始、停⽌、删除,⽽这些容器都是
彼此相互隔离、互不可⻅的。
可以把容器看作⼀个简易版的Linux 系统环境(包括root ⽤⼾权限、进程空间、⽤⼾空
间和⽹络空间等)以及运⾏在其中的应⽤程序打包⽽成的盒⼦。
镜像⾃⾝是只读的。容器从镜像启动的时候,会在镜像的最上层创建⼀个可写层。

Docker仓库

Docker 仓库类似于代码仓库,是Docker 集中存放镜像⽂件的场所

1.Docker引擎的安装

Linux输入如下命令:
卸载旧版本

1
2
3
4
5
6
7
8
9
10
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine

安装依赖包

1
yum install -y yum-utils device-mapper-persistent-data lvm2

添加yum软件源信息

1
2
#阿里云镜像
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

如果出现yum-config-manager命令找不到
这个是因为系统默认没有安装这个命令,这个命令在yum-utils 包里,可以通过命令yum -y install yum-utils 安装就可以了。

安装Docker CE
安装稳定版1

1
yum install docker-ce

启动Docker
启动并且开机启动

1
2
systemctl start docker
systemctl enable docker

测试是否安装成功
查看版本 下面两个都得有才行 client server

1
docker version

2.RPG小游戏的搭建

RPG小游戏的搭建原理就是自己创建一个RPG小游戏的Docker镜像,使用该镜像运行容器

创建Dockerfile文件并编辑

1
vi Dockerfile

按i进入插入模式,复制粘贴如下代码(进入插入模式,左下角会有一个INSERT标志,若没有进入插入模式粘贴会缺失代码,按ESC键,输入:wq,回车退出编辑)

1
2
3
4
5
6
7
8
9
FROM centos:7
ADD http://23126342.s21d-23.faiusrd.com/0/ABUIABAAGAAg1M3F9wUoxOzFiwY?f=BrowserQuest.tar.gz&v=1592878804 /
RUN yum install php-cli php-process php-devel php-pear libevent-devel -y && yum clean all
RUN tar xzvf /ABUIABAAGAAg1M3F9wUoxOzFiwY \
&& echo -e 'sed -i "s/hostip/$HOST_IP/g" /BrowserQuest/Web/config/config_local.json && php start.php start' > /BrowserQuest/run.sh
WORKDIR /BrowserQuest
EXPOSE 8000
EXPOSE 8787
CMD ["bash","run.sh"]

创建镜像

1
docker build -t rpggame .

镜像中包含rpggame即成功创建

运行镜像

1
docker run -d  -p 8000:8000 -p 8787:8787 -e HOST_IP=xxx.xxx.xx.xxx rpggame

注:HOST_IP设置为你的服务器ip

此命令行将小游戏部署在8787端口上(关于端口放行请参考静态网页呈现小游戏

测试

网页输入:<服务器ip>:8787

RPG小游戏一键神装

进入游戏界面后,右键点击检查

进入网站更改cookies

其中代码内容为:

1
"name":"xxxxx","weapon":"goldensword","armor":"goldenarmor"

可以修改各玩家信息:

1
2
3
name:游戏昵称
weapon:武器(代码中我已更改为圣剑)
armor:防具(代码中我已更改为圣甲)

代码对照表:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
钢剑:sword2
斧头:axe
炽烈剑:redsword
魔剑:bluesword
圣剑:goldensword
晨星:morningstar
皮甲:leatherarmor
铠甲:mailarmor
板甲:platearmor
红宝石盔甲:redarmor
圣甲:goldenarmor
治疗药水:flask
蛋糕:cake
老鼠汉堡:burger
火狐之力:firePotion

根据代码对照表修改对应代码即可

参考链接

https://docker_practice.gitee.io/zh-cn/install/centos.html
https://blog.csdn.net/weixin_39806100/article/details/105925731
https://docs.docker.com/engine/install/centos/
https://www.cnblogs.com/qkstart/p/10973445.html

-------------本文结束感谢您的阅读-------------
坚持原创技术分享,您的支持将鼓励我继续创作!