【Docker项目实战】在Docker环境下部署2048网页小游戏

举报
江湖有缘 发表于 2024/09/29 10:55:42 2024/09/29
【摘要】 【Docker项目实战】在Docker环境下部署2048网页小游戏

一、2048小游戏介绍

1.1 游戏简介

2048 是一款流行的数字益智游戏,其主要目标是通过滑动数字方块来合并相同的数字,直到达到2048这个数字或更高。

1.2 游戏界面

  • 游戏通常在一个4x4的网格上进行。
  • 网格中会随机出现一些数字方块(通常是2或4)。

1.3 主要规则

  1. 移动数字:玩家可以通过向上、下、左、右四个方向滑动屏幕,使所有数字方块向该方向移动。
  2. 合并数字:当两个相同数字的方块碰撞时,它们会合并成一个数字翻倍的新方块。例如,两个2相撞会变成一个4,两个4相撞会变成一个8,以此类推。
  3. 生成新数字:每次移动后,网格中会随机生成一个新的数字方块(通常是2或4),以填补空出的位置。
  4. 目标:玩家的目标是通过不断合并方块,最终得到一个值为2048的方块。当然,玩家可以继续玩下去,尝试达到更高的数字。
  5. 游戏结束:如果网格被填满且没有相邻的相同数字可以合并,游戏就结束了。

1.4 策略提示

  • 规划布局:尽量保持高数值方块集中在某个角落,并围绕它构建其他数字。
  • 避免死局:注意不要让低数值方块阻塞了高数值方块的合并路径。
  • 利用边角:将最高数值的方块放置在角落,可以帮助你更有效地管理空间。
  • 谨慎使用高价值方块:高数值方块(如16, 32等)应该谨慎处理,确保它们能够持续合并。

二、本地环境介绍

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为Ubuntu 22.04.1 LT。

hostname IP地址 操作系统版本 Docker版本
ubuntu-001 192.168.3.251 Ubuntu 22.04.1 LTS 24.0.7

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.使用Docker部署2048网页小游戏。

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

root@ubuntu-001:~# systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2024-09-20 11:10:00 UTC; 1 week 1 day ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 99873 (dockerd)
      Tasks: 68
     Memory: 3.5G
        CPU: 3min 54.781s
     CGroup: /system.slice/docker.service

3.2 检查Docker版本

检查Docker版本

[root@jeven ~]# docker -v
Docker version 20.10.17, build 100c701

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

[root@jeven ~]# docker compose version
Docker Compose version v2.6.0

四、下载2048项目镜像

拉取2048容器镜像

root@ubuntu-001:~# docker pull  daocloud.io/daocloud/dao-2048
Using default tag: latest
latest: Pulling from daocloud/dao-2048
b37239f217e0: Pull complete
4f4fb700ef54: Pull complete
be1f7d5b96a1: Pull complete
2377cf57d34f: Pull complete
0578df149f13: Pull complete
49c516c23991: Pull complete
Digest: sha256:2e8fd8d09f794605c0494dc7b532de6c506b1f4c35b7cc514e5beb872a0877c5
Status: Downloaded newer image for daocloud.io/daocloud/dao-2048:latest
daocloud.io/daocloud/dao-2048:latest

五、部署2048项目

5.1创建部署目录

  • 创建部署目录
mkdir -p /data/2048 && cd /data/2048 

5.2 编辑部署文件

  • 可以直接使用docker-cli方式部署,示例如下。本次实践使用docker compose方式部署。
docker run -d --name game-2048 --restart always -p 8003:80 daocloud.io/daocloud/dao-2048
  • 编辑docker-compose.yml部署文件
version: '3.9'
services:
    daocloud:
        image: daocloud.io/daocloud/dao-2048
        ports:
            - '8003:80'
        restart: always
        container_name: game-2048


5.3 创建2048容器

  • 使用docker-compose.yaml文件创建2048容器
root@ubuntu-001:/data/2048# docker compose up -d
[+] Running 2/2
 ✔ Network 2048_default  Created                                                                                                                         0.2s
 ✔ Container game-2048   Started                                                                                                                         0.4s

5.4 检查容器状态

检查2048容器状态,确保2048容器正常启动。

root@ubuntu-001:/data/2048# docker compose ps
NAME                IMAGE                           COMMAND                  SERVICE             CREATED             STATUS              PORTS
game-2048           daocloud.io/daocloud/dao-2048   "/bin/sh -c 'sed -i …"   daocloud            23 seconds ago      Up 23 seconds       0.0.0.0:8003->80/tcp, :::8003->80/tcp

六、访问2048小游戏

访问地址:http://192.168.3.251:8003,将IP替换为自己服务器IP地址,进入到2048网页小游戏。如果无法访问,则检查服务器防火墙是否设置,云服务器的安全组端口是否放行等。

在这里插入图片描述

七、总结

在本次 Docker 项目实战中,于 Docker 环境下部署 2048 网页小游戏收获颇丰。Docker 显著简化了部署流程,凭借其标准化的容器环境,让复杂的部署工作变得条理清晰且易于操作。通过这次实践,我们不仅成功完成了游戏部署,还积累了宝贵的 Docker 应用经验,为今后更多项目的高效实施奠定了坚实基础。它确保了游戏在不同环境中的稳定性和兼容性,无论是开发、测试还是生产环境,都能顺利运行。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。