玩转Docker | 使用Docker部署捕鱼网页小游戏
- 一、项目介绍
- 项目简介
- 项目预览
- 二、系统要求
- 环境要求
- 环境检查
- Docker版本检查
- 检查操作系统版本
- 三、部署捕鱼网页小游戏
- 下载镜像
- 创建容器
- 检查容器状态
- 下载项目内容
- 查看服务监听端口
- 安全设置
- 四、访问捕鱼网页小游戏
- 五、总结
一、项目介绍
项目简介
- 捕鱼网页小游戏介绍:
Fishing-talentGame 是一个基于网页的开源捕鱼小游戏,使用 HTML 和 JavaScript 技术构建,确保了其在现代浏览器中的广泛兼容性和易访问性。游戏中玩家将面对多种类型和大小各异的鱼类,通过选择不同的武器如枪或网来捕捉它们,每成功捕获一条鱼都会根据鱼的种类和大小获得相应的积分。随着游戏级别的提升,不仅鱼类的数量会增加,捕捞的难度也会随之加大,为玩家带来持续的挑战与乐趣。这种设计既考验了玩家的反应速度和策略规划能力,也提供了丰富的游戏体验,适合各个年龄段的玩家享受轻松愉快的游戏时光。
项目预览
二、系统要求
环境要求
Docker 部署环境要求:
类别 | 详细信息 | 版本/要求 |
---|---|---|
操作系统 | Linux (Ubuntu 20.04, CentOS 7) | 仅支持X86架构 |
Docker Engine | Docker Engine | v19.03 或更高版本 |
Docker Compose | Docker Compose | v2.0 或更高版本 |
说明:
- 操作系统: 本项目支持的Linux发行版包括Ubuntu 20.04和CentOS 7等,且仅限于X86架构的设备。
- Docker Engine: 需要安装v19.03或更高版本的Docker Engine。
- Docker Compose: 需要安装v2.0或更高版本的Docker Compose。
环境检查
Docker版本检查
- 检查Docker版本
root@wangge:~# docker -v
Docker version 24.0.7, build 24.0.7-0ubuntu2~22.04.1
- 检查当前Docker服务状态
root@wangge:~# systemctl status docker
● docker.service - Docker Application Container EngineLoaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)Active: active (running) since Tue 2024-10-01 14:59:27 UTC; 3 weeks 6 days ago
TriggeredBy: ● docker.socketDocs: https://docs.docker.comMain PID: 2481 (dockerd)Tasks: 10Memory: 121.2MCPU: 12.696sCGroup: /system.slice/docker.service
- 检查当前docker compose版本
root@wangge:~# docker compose version
Docker Compose version v2.19.1
检查操作系统版本
- 查看当前实践环境的系统版本,当前宿主机的操作系统版本为
Ubuntu 22.04.1 LTS
。
root@wangge:~# docker compose version
Docker Compose version v2.19.1
root@wangge:~# cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.1 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
三、部署捕鱼网页小游戏
下载镜像
拉取httpd镜像,如下所示:
root@wangge:~# docker pull httpd:2.4
2.4: Pulling from library/httpd
a480a496ba95: Pull complete
3a2663e66670: Pull complete
4f4fb700ef54: Pull complete
dbde712f81fb: Pull complete
867b2ea3628d: Pull complete
6bd9d3710aae: Pull complete
Digest: sha256:bbea29057f25d9543e6a96a8e3cc7c7c937206d20eab2323f478fdb2469d536d
Status: Downloaded newer image for httpd:2.4
docker.io/library/httpd:2.4
创建容器
执行以下命令,快速创建斗地主项目容器。
docker run -dit --name my-web -p 6200:80 -v "$PWD":/usr/local/apache2/htdocs/ httpd:2.4
也可以使用docker compose方式来创建容器,部署文件内容如下:
version: '3.9'
services:httpd:image: 'httpd:2.4'volumes:- '/docker/httpd/html:/usr/local/apache2/htdocs/'ports:- '6200:80'container_name: my-webrestart: always
- 执行以下命令,根据部署文件创建httpd容器
root@wangge:/docker/httpd# docker compose up -d
[+] Running 2/2✔ Network httpd_default Created 0.2s✔ Container my-web Started 0.4s
检查容器状态
当创建容器完毕后,我们需要确认容器是否正常启动。
root@wangge:/docker/httpd# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0a78e7cb31e6 httpd:2.4 "httpd-foreground" 35 seconds ago Up 34 seconds 0.0.0.0:6200->80/tcp, :::6200->80/tcp my-web
下载项目内容
在/docker/httpd/html目录,下载项目。
git clone https://github.com/sjh0824/Fishing-talentGame.git
- 查看项目内容,如下所示:
root@wangge:/docker/httpd/html# tree -L 1 ./Fishing-talentGame/
./Fishing-talentGame/
├── fishjoy.game.js
├── images
├── index.html
├── js
└── src3 directories, 2 files
查看服务监听端口
- 执行以下命令,检查服务监听端口。
root@wangge:/docker/httpd/html# ss -tunlp | grep 6200
tcp LISTEN 0 4096 0.0.0.0:6200 0.0.0.0:* users:(("docker-proxy",pid=93460,fd=4))
tcp LISTEN 0 4096 [::]:6200 [::]:* users:(("docker-proxy",pid=93466,fd=4))
安全设置
- 执行以下命令,关闭防火墙。如果不想关闭防火墙,则需要放行相关服务端口。
systemctl stop firewalld && systemctl disable firewalld
- 关闭selinux服务
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
四、访问捕鱼网页小游戏
我们在浏览器访问:http://192.168.3.251:6200/Fishing-talentGame/,将IP替换为自己服务器IP地址,即可正常访问到斗地主网页小游戏。
五、总结
通过Docker部署Fishing-talentGame捕鱼网页小游戏,我体验到了容器化技术带来的极大便利。只需几个简单的Docker命令,包括拉取镜像、运行容器和配置端口映射,就快速搭建起了游戏环境。整个过程不仅简化了复杂的配置步骤,还确保了游戏在不同系统上的稳定性和一致性。最终,我在本地浏览器中流畅地运行并享受了这款充满乐趣的捕鱼游戏,充分感受到了Docker在应用部署方面的高效与强大。