当前位置: 首页 > news >正文

Docker部署教程:打造流畅的斗地主网页小游戏

Docker部署教程:打造流畅的斗地主网页小游戏

  • 一、项目介绍
    • 项目简介
    • 项目预览
  • 二、系统要求
    • 环境要求
    • 环境检查
      • Docker版本检查
      • 检查操作系统版本
  • 三、部署斗地主网页小游戏
    • 下载镜像
    • 创建容器
    • 检查容器状态
    • 查看容器日志
    • 安全设置
  • 四、访问斗地主网页小游戏
  • 五、总结

一、项目介绍

项目简介

  • 斗地主网页小游戏介绍:

斗地主是一种在中国非常流行的纸牌游戏,通常由三人玩,使用一副54张的扑克牌(包括大小王)。游戏的目标是尽快出完手中的牌。每个玩家开始时会获得17张牌,剩下的三张作为底牌放在一旁。通过叫分来决定谁成为“地主”,地主将得到这三张底牌,并且需要对抗其他两位农民玩家。

项目预览

在这里插入图片描述

二、系统要求

环境要求

Docker 部署环境要求:

类别详细信息版本/要求
操作系统Linux (Ubuntu 20.04, CentOS 7)仅支持X86架构
Docker EngineDocker Enginev19.03 或更高版本
Docker ComposeDocker Composev2.0 或更高版本

说明:

  • 操作系统: 本项目支持的Linux发行版包括Ubuntu 20.04和CentOS 7等,且仅限于X86架构的设备。
  • Docker Engine: 需要安装v19.03或更高版本的Docker Engine。
  • Docker Compose: 需要安装v2.0或更高版本的Docker Compose。

环境检查

Docker版本检查

  • 检查Docker版本
[root@cloud ~]# docker -v
Docker version 26.1.4, build 5650f9b
  • 检查当前Docker服务状态
[root@cloud ~]# systemctl status docker
● docker.service - Docker Application Container EngineLoaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)Active: active (running) since Thu 2024-10-24 22:19:44 CST; 3 days agoDocs: https://docs.docker.comMain PID: 22380 (dockerd)Tasks: 59Memory: 120.3MCGroup: /system.slice/docker.service
  • 检查当前docker compose版本
[root@cloud ~]# docker compose version
Docker Compose version v2.27.1

检查操作系统版本

  • 查看当前实践环境的系统版本,当前宿主机的操作系统版本为Centos 7
[root@cloud ~]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

三、部署斗地主网页小游戏

下载镜像

拉取斗地主网页小游戏项目的容器镜像,如下所示:

[root@cloud ~]# docker pull swr.cn-north-4.myhuaweicloud.com/jeven/landlord:v1
v1: Pulling from jeven/landlord
b170a134a788: Pull complete
5884073f35a9: Pull complete
7ed7bc0edd2a: Pull complete
e23ddc3e917d: Pull complete
21a52f0d4927: Pull complete
75602aaf4578: Pull complete
47e20e112b7d: Pull complete
Digest: sha256:fcbef31c252bbd8729e658f6452e7e5f9f04aa99c817211f1deb72dd53b8b9de
Status: Downloaded newer image for swr.cn-north-4.myhuaweicloud.com/jeven/landlord:v1
swr.cn-north-4.myhuaweicloud.com/jeven/landlord:v1

创建容器

执行以下命令,快速创建斗地主项目容器。

docker run -d  \--name landlord \-p 7200:80 \--restart always \
swr.cn-north-4.myhuaweicloud.com/jeven/landlord:v1

在这里插入图片描述

检查容器状态

当创建容器完毕后,我们需要确认容器是否正常启动。

[root@cloud ~]# docker ps
CONTAINER ID   IMAGE                                                COMMAND                  CREATED          STATUS     PORTS                                                  NAMES
7cc99a27b35e   swr.cn-north-4.myhuaweicloud.com/jeven/landlord:v1   "/landlord"              46 seconds ago   Up 44 seconds   0.0.0.0:7200->80/tcp, :::7200->80/tcp                  landlord

查看容器日志

  • 执行以下命令,检查容器日志中是否有报错。
docker logs landlord

在这里插入图片描述

安全设置

  • 执行以下命令,关闭防火墙。如果不想关闭防火墙,则需要放行相关服务端口。
systemctl stop firewalld && systemctl disable firewalld
  • 关闭selinux服务
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

四、访问斗地主网页小游戏

我们在浏览器访问:IP+宿主机映射端口,即可正常访问到斗地主网页小游戏。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

五、总结

通过Docker部署斗地主网页小游戏,我们实现了快速且一致的环境搭建,极大地简化了开发和运维流程。游戏在容器中的表现稳定,加载速度快,用户体验流畅无卡顿。Docker的隔离性和可移植性使得我们在不同服务器上都能轻松部署和管理应用。这次实践不仅提升了部署效率,还增强了系统的可靠性和维护性。

相关文章:

Docker部署教程:打造流畅的斗地主网页小游戏

Docker部署教程:打造流畅的斗地主网页小游戏 一、项目介绍项目简介项目预览 二、系统要求环境要求环境检查Docker版本检查检查操作系统版本 三、部署斗地主网页小游戏下载镜像创建容器检查容器状态查看容器日志安全设置 四、访问斗地主网页小游戏五、总结 一、项目介…...

redis的客户端

目录 redis的客户端一:jedis1:jedis的使用步骤:2:jedis连接池 二:springDataRedis1:入门使用2:配置序列化器3:stringRedisTemplate redis的客户端 一:jedis 1:jedis的使…...

图片分类标注工具python

图片分类标注工具 运行代码:将代码保存到 Python 文件中并运行。选择文件夹:运行时会弹出对话框,选择要分类的图片文件夹。标注分类:程序会逐张显示图片,你可以在下方输入框中输入类别标签,并点击“Next”…...

Rust命令行,实现自动反编译Android APK包工具

Rust-CLI实现自动反编译APK Rust提供了比较好的CLI接口,可以快速的编写命令行应用, 用于日常的工具类使用。 分享一个用Rust命令行实现自动反编译Android APK包工具,是之前学习Rust写的一个练手小工具,可以快速反编译APK,同时也学习下用Rust…...

10. NSTableView Table 数据表格

表格是非常重要和复杂的一个控件,本节会用大量篇幅来把表格这东西力求讲清楚。 基本设置 表格结构 表格是 OS X 组件中为数不多采用了MVC设计模式来实现的控件,即tableView–dataSource–Delegate,这种分层架构给处理数据带来了极大的便利…...

javase笔记8---File与IO流

File类型 简介 在程序中,使用java.io.File这个类来描述和操作磁盘上的一个文件或文件夹(目录)。 File这个类,能新建、删除、移动,重命名文件或文件夹,也能获取或者修改文件或文件夹的信息(如大小,修改时间等)&#xf…...

docker上传离线镜像包到Artifactory

docker上传离线镜像包到Artifactory 原创 大阳 北京晓数神州科技有限公司 2024年10月25日 17:33 北京 随着docker官方源的封禁,最近国内资源也出现无法拉取的问题,Artifactory在生产环境中,很少挂外网代理去官方源拉取,小编提供…...

【专用名词的离线语音识别在2024年底的解决方法调查-会议签到的补充】

语音识别在会议点名中的使用 概要解决问题的过程不行的一些参考可以的一个package自定义词语的拼音转换遗留的问题 小结 概要 提示:这里可以添加技术概要 这里只实现一个方面,每个android会议设备都可通过语音发送参会者姓名,自动转换成文字添加到人员名单. 语音采集…...

OS基础-

OS基础 内存管理 内核用户设备管理 设备框架I/O子系统网络多媒体 音频视频运维 控制台GUIdebug审计计算机组成 CPU ALUregister SPLRPCR0-R12CPSRcacheclockInterrupt Vector tableIVTRMMU/MPU 内存访问权限配置,支持多进程BUSMEMORYI/O单线程 特点:结构…...

《大型语言模型实战指南:应用实践与场景落地》一文详解大型语言模型的11种微调方法

导读:大型预训练模型是一种在大规模语料库上预先训练的深度学习模型,它们可以通过在大量无标注数据上进行训练来学习通用语言表示,并在各种下游任务中进行微调和迁移。随着模型参数规模的扩大,微调和推理阶段的资源消耗也在增加。…...

嵌入式浏览器 -- Chromium VS Firefox

嵌入式浏览器概念 嵌入式浏览器是嵌入式系统中的核心组件之一,用于为设备提供网络访问能力和内容显示功能。与传统PC浏览器相比,嵌入式浏览器更加注重性能优化和资源效率,同时确保核心功能可用,如HTML渲染、JavaScript支持和多媒…...

权限大、数量多、破坏强、管理难......企业特权访问管理怎么管?

特权账号,通往企业数据大门的“钥匙”。 它权限大,具有高危命令或操作的执行权限; 破坏性强,操作可能影响他人使用或其他系统故障; 信息泄露风险大,操作可能获取别人或其他系统相关隐私信息;…...

UE5 第一人称示例代码阅读0 UEnhancedInputComponent

UEnhancedInputComponent使用流程 我的总结示例分析firstthenand thenfinally&代码关于键盘输入XYZ 我的总结 这个东西是一个对输入进行控制的系统,看了一下第一人称例子里,算是看明白了,但是感觉这东西使用起来有点绕,特此梳…...

如何在Linux下安装和配置Docker

文章目录 安装前的准备在Debian/Ubuntu上安装Docker添加Docker仓库安装Docker验证安装 在CentOS/RHEL上安装Docker安装必要的软件包设置Docker仓库安装Docker启动Docker服务 Docker的基本使用拉取一个镜像运行一个容器 配置Docker创建Docker目录使用非root用户运行Docker 结语 …...

apisix的原理及作用,跟spring cloud gateway有什么区别?

apache APISIX 是一个高性能、可扩展的开源 API 网关,它主要用于处理 API 请求、流量管理、安全控制和服务治理。APISIX 可以将复杂的服务架构中的不同服务通过统一的网关来进行管理和监控,为微服务架构提供了便捷的流量入口管理方式。 APISIX 的原理 …...

华为HarmonyOS实现实时语音识别转文本

场景介绍 将一段音频信息(短语音模式不超过60s,长语音模式不超过8h)转换为文本,音频信息可以为pcm音频文件或者实时语音。 开发步骤 在使用语音识别时,将实现语音识别相关的类添加至工程。 import { speechRecogni…...

DIY可视化-uniapp悬浮菜单支持拖动、吸附-代码生成器

在Uniapp中,悬浮菜单支持拖动和吸附功能,可以为用户带来更加灵活和便捷的操作体验。以下是对这两个功能的详细解释: 悬浮菜单支持拖动 提高用户体验:用户可以根据自己的需要,将悬浮菜单拖动到屏幕上的任意位置&#x…...

HTTP cookie 与 session

一.Cookie 定义: 是服务器发送到用户浏览器并保存在浏览器上的一小块数据, 它会在浏览器之后向同一服务器再次发起请求时被携带并发送到服务器上。 通常, 它用于告知服务端两个请求是否来自同一浏览器, 如保持用户的登录状态、 …...

智慧停车场导航系统架构及反向寻车系统解决方案

一、系统概述: 随着当前室内定位导航技术在大型公共场所如政务中心、商业综合体、车站中的应用越来越多,人们对智慧停车场的需求也日益凸显出来,并且智慧停车场对大型公共场所智慧化的整体建设起到重要作用。如何更有效提高停车效率&#xf…...

【小程序上传图片封装2024,支持多图,带进度,上传头像】

import config from ./config;// 支持多图,显示进度 export function uploadImages(count 1, sourceType, onLoading null, showProgress false, fileKey file) {return new Promise((resolve, reject) > {wx.chooseMedia({count: count, // 可以选择的图片数…...

[A-14]ARMv8/ARMv9-Memory-内存模型的类型(Device Normal)

ver0.1 [看前序文章有惊喜。] 前言 前面花了很大的精力把ARM构建的VMSA中的几个核心的议题给大家做了介绍,相信大家已经能够理解并掌握ARM的内存子系统的工作原理大致框架。接下来我们会规划一些文章,对ARM内存子系统的一些细节做一下介绍,使ARM的内存子系统更加的丰满。本…...

驾校管理系统|基于java和小程序的驾校管理系统设计与实现(源码+数据库+文档)

驾校管理系统平台 目录 基于java和小程序的驾校管理系统设计与实现 一、前言 二、系统设计 三、系统功能设计 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂码农|毕设布道师&#…...

@Mapper使用中遇到的问题解法汇总

最近终于有时间写点代码相关的文章了,工作真的太忙了,果然又要测试又要开发的人最🐂🐴。 1.查询数据库有数据,但是代码中写select语句的时候查出为null Select("SELECT * FROM xx_manager order by id limit 1&q…...

深度学习:YOLO V3 网络架构解析

引言 YOLO V3(You Only Look Once Version 3)是YOLO系列算法的第三个版本,相比之前的版本,它在多个方面进行了优化和改进,不仅提升了检测精度,还保持了较快的检测速度。本文将详细介绍YOLO V3的主要改进以…...

SpringCloudAlibaba-Sentinel-熔断与限流

版本说明 <spring.boot.version>3.2.0</spring.boot.version> <spring.cloud.version>2023.0.0</spring.cloud.version> <spring.cloud.alibaba.version>2023.0.1.2</spring.cloud.alibaba.version>是什么 能干嘛 面试题 服务雪崩 安装使…...

mysql中的mvcc理解

是什么&#xff1a;MVCC指的是在读已提交、可重复读这两种隔离级别下的事务在执行普通的select操作时&#xff0c;访问记录的版本链的过程&#xff0c;可以使不同事务的读写操作并发执行&#xff0c;提高性能。 MVCC 隐藏字段 undo log 版本链 ReadView 1.隐藏字段&#xf…...

ETF申购赎回指南:详解注意事项与低费率券商推荐!

​ETF 申购&赎回 ETF申购赎回是个啥业务&#xff1f; 01 ETF申购、赎回是一种交易委托方式&#xff0c;指投资者通过申购方式(买入方向)获得ETF份额&#xff0c;通过赎回的方式&#xff08;卖出方向&#xff09;换掉/卖出ETF份额。ETF申购&#xff0c;通常是通过一篮子成…...

List<T>属性和方法使用

//author&#xff1a;shark_ddd using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;//使用函数来减少长度namespace List_T {class Student{public string Name { get; set; }public int Age { get; set; …...

记一次:使用使用Dbeaver连接Clickhouse

前言&#xff1a;使用了navicat连接了clickhouse我感觉不太好用&#xff0c;就整理了一下dbeaver连接 0、使用Navicat连接clickhouse 测试连接 但是不能双击打开&#xff0c;可是使用命令页界面&#xff0c;右键命令页界面&#xff0c;然后可以用sql去测试 但是不太好用&#…...

Java面向对象编程进阶(四)

Java面向对象编程进阶&#xff08;四&#xff09; 一、equals()方法的使用二、toString()方法的使用三、复习 一、equals()方法的使用 适用性&#xff1a;任何引用数据都可以使用。 自定义的类在没有重写Object中equals()方法的情况下&#xff0c;调用的就是Object类中声明的…...

用个人电脑做网站的步骤/搜索引擎优化seo信息

在研究零知识证明时候&#xff0c;发现了18年底一个叫超零币&#xff08;SERO&#xff09;的新兴电子币&#xff0c;据说使用的super-ZK速度比Zcash的zk-SNARKs快20倍&#xff0c;对此非常感兴趣&#xff0c;找到官方博客&#xff0c;进行环境搭建。 官方博客&#xff1a;http…...

怎样做自适应网站/我要推广

思路&#xff1a; 果然是想复杂了&#xff0c;其实双指针就OK了&#xff0c;因为决策是单调且互补影响的&#xff0c;你把两个序列相同数字合并起来&#xff0c;那么每次取合并区间内大的一个就好了。 我是记忆化搜索写的&#xff08;很丑&#xff09;&#xff0c;要是想到双指…...

wordpress的php.ini/重庆百度推广电话

电脑时间不准怎么调呢&#xff1f;每次开机时间总是不对&#xff0c;调整过来又变回去&#xff0c;真是让人抓狂。其实是设置方法不太对哦&#xff0c;这时候就需要使用文中第二种自动获取时间的方法&#xff0c;使电脑时间与网络时间同步就可以啦。大家都知道电脑时间是指网络…...

wordpress skype插件/前端seo优化

1 /*2 实现同接口下不同类的对象的转移 3 定义类的接口4 定义多个继承该接口的类5 定义管理类&#xff0c;把接口当作类型&#xff0c;6 传入该接口下各种类的对象&#xff0c;进行操作 7 */8 #include<iostream>9 #include<…...

给手机开发网站/免费推广产品平台有哪些

今天继续接着CSS盒子模型补充&#xff0c;CSS基础学习十三&#xff1a;盒子模型和CSS基础学习十四&#xff1a;盒子模型补充之display属 性设置都是介绍了盒子模型中的内容概括。开始今天的主题&#xff1a;外边距合并。 外边距合并指的是&#xff0c;当两个垂直外边距相遇时&…...

做网站的前途/广州网站优化工具

我在构思这篇文章。我想象自己能够在时机成熟时&#xff0c;把自己的想法都倾诉于纸端。但刚刚过去一个月&#xff0c;我就意识到这并非易事&#xff1a;随着工作的推进&#xff0c;我忘掉了很多自己刚刚学到的东西。这些东西快速内化&#xff0c;使我的大脑开始欺骗自己&#…...