首页 > 系统相关 >centos7.6使用docker搭建dnf私服

centos7.6使用docker搭建dnf私服

时间:2024-01-24 11:00:12浏览次数:35  
标签:udp dnf -- 私服 tcp docker data

服务端:

1: 配置SWAP虚拟内存

1.1 查看虚拟内存

swapon --show

1.2 创建 SWAP

# 创建一个文件并设置为 swap
fallocate -l 8G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
nano /etc/fstab

# 在最后一行粘贴以下内容,然后按 Crtl + X ,再按 Y ,然后回车
/swapfile swap swap defaults 0 0

# 再查看虚拟内存:
swapon --show

2:安装docker,并拉取镜像和启动容器

2.1 把yum包更新到最新

yum update -y

2.2 安装需要的软件包

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

2.3 安装docker-ce

# 配置阿里云仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 安装docker-ce
yum install docker-ce

2.4启动docker并加入开机启动

# 启动docker
systemctl start docker

# 加入开机自启动
systemctl enable docker

2.5 拉取镜像

docker pull 1995chen/dnf:centos7-2.0.2

2.6 创建一个目录用于挂载容器中的数据

mkdir -p /data/dnf

2.7 启动容器

# 初始化容器中的数据并挂载到宿主机
docker run --rm -v /data/dnf/log:/home/neople/game/log -v /data/dnf/mysql:/var/lib/mysql -v /data/dnf/data:/data 1995chen/dnf:centos7-2.0.2 /bin/bash /home/template/init/init.sh

#启动容器
docker run -d -e PUBLIC_IP=1.1.1.1 -e DNF_DB_ROOT_PASSWORD=88888888 -e GM_ACCOUNT=gmadmin -e GM_PASSWORD=gm123456 -v /data/dnf/log:/home/neople/game/log -v /data/dnf/mysql:/var/lib/mysql -v /data/dnf/data:/data -p 3000:3306/tcp -p 7600:7600/tcp -p 881:881/tcp -p 20303:20303/tcp -p 20303:20303/udp -p 20403:20403/tcp -p 20403:20403/udp -p 40403:40403/tcp -p 40403:40403/udp -p 7000:7000/tcp -p 7000:7000/udp -p 7001:7001/tcp -p 7001:7001/udp -p 7200:7200/tcp -p 7200:7200/udp -p 10011:10011/tcp -p 31100:31100/tcp -p 30303:30303/tcp -p 30303:30303/udp -p 30403:30403/tcp -p 30403:30403/udp -p 10052:10052/tcp -p 20011:20011/tcp -p 20203:20203/tcp -p 20203:20203/udp -p 30703:30703/udp -p 11011:11011/udp -p 2311-2313:2311-2313/udp -p 30503:30503/udp -p 11052:11052/udp --cpus=1 --memory=2g --memory-swap=-1 --shm-size=8g --name=dnf 1995chen/dnf:centos7-2.0.2

# PUBLIC_IP为公网IP地址,如果在局域网部署则用局域网IP地址,按实际需要替换
# GM_ACCOUNT为登录器用户名,建议替换
# GM_PASSWORD为登录器密码,建议替换
# DNF_DB_ROOT_PASSWORD为mysql root密码,容器启动是root密码会跟随该环境变量的变化自动更新

2.8 查看docker日志或者log日志

# 查看docker容器日志
docker logs -f dnf

# 查看Log日志
tail -f /data/dnf/log/siroco11/Log20240122.init 

遇到的问题及解决方案:

1:[!] Init ChannelType [!] Init ChannelType Fail
# 检查内存,调整启动命令配置,由于某些云服务商并未真正启用虚拟内存
free -h 

# 使用改命令查看默认配置
cat /proc/sys/vm/swappiness

# 临时调整的方法如下,我们调成60并再次查看
sysctl vm.swappiness=60
cat /proc/sys/vm/swappiness

# 要想永久调整的话,需要在/etc/sysctl.conf最后加上第二句代码
vim /etc/sysctl.conf
vm.swappiness = 60

# 重新加载配置
sysctl -p

# 参考:https://www.cnblogs.com/EasonJim/p/7777904.html、https://blog.itpub.net/29371470/viewspace-1250975

2:一直容器启动后一直报错avgping()

说明Script.pvf文件有问题,用客户端的Script.pvf文件把服务器 /data/dnf/data 目录下的覆盖掉再重启容器就行了。

客户端:

默认的网关信息:
网关端口: 881
通讯密钥: 763WXRBW3PFTC3IXPFWH
登录器版本: 20180307
登录器端口: 7600
GM账户: gm_user /容器中配置的账户
GM密码: gm_pass /容器中配置的密码

解压“DNF客户端(2018年2月更新).7z”文件,然后解压“DOF补丁大合集V7.6.7z”文件,把“DOF补丁大合集V7.6.7z”解压出来后的文件复制到客户端里面去,然后使用“统一网关6.4”生成登录器,再把生成之后的登录器复制到客户端的根目录。不需要打登陆器配套补丁;Script.pvf使用客户端自带的,即未加密pvf

文中提到的客户端文件请移步github下载:https://github.com/1995chen/dnf

标签:udp,dnf,--,私服,tcp,docker,data
From: https://www.cnblogs.com/liubaojing/p/17984150

相关文章

  • docker安装pg(postgresql)
    拉取镜像dockerpullpostgres:15.5创建本地卷或创建挂载目录(/docker/postgresql/data)dockervolumecreatepgdata数据卷可以在容器之间共享和重用,默认会一直存在,即使容器被删除(dockervolumeinspectpgdata可查看数据卷的本地位置,如果使用该方式创建可查看创建成功......
  • Docker Net 老版本升级到新版本 Docker Build报错
    #net8使用,正常从net3.1直接升级到8FROMmcr.microsoft.com/dotnet/sdk:8.0ASbuildFROMmcr.microsoft.com/dotnet/runtime:latestFROMbuildWORKDIR/appCOPY/./appRUNdotnetrestoreRUNdotnetpublish-o/out-cReleaseEXPOSE5000ENTRYPOINT["dotnet"......
  • docker部署es,kibana
    es安装创建网络【需要部署kibana容器为了互联】dockernetworkcreatees-net拉取镜像dockerpullelasticsearch:7.14.2创建挂载点目录mkdir-p/usr/local/es/data/usr/local/es/config/usr/local/es/plugins修改权限chmod777/usr/local/es/datachmod777......
  • Docker基本管理
    DockerDocker概述容器引擎Docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源。Docker是在Linux容器里运行应用的开源工具,是一种轻量级的“虚拟机”。Docker的容器技术可以在一台主机上轻松为任何应用创建一个轻量级的、可移植的、自给自足的容器。......
  • [转帖]Docker最佳实践:5个方法精简镜像
    https://juejin.cn/post/6844903880526921741  精简Docker镜像的好处很多,不仅可以节省存储空间和带宽,还能减少安全隐患。优化镜像大小的手段多种多样,因服务所使用的基础开发语言不同而有差异。本文将介绍精简Docker镜像的几种通用方法。精简Docker镜像大小的必要性Doc......
  • Alpine搭建docker环境
    Alpine搭建docker环境基础环境已经具备,进行应用的安装和配置。安装docker服务#安装dockerapkadddocker配置docker服务#启动dockerservicedockerstart#开机启动rc-updateadddockerboot#查看版本dockerversion‍报错处理servicedocker......
  • 揭秘 Docker 网络:手动实现 Docker 桥接网络
    本文将带领读者探索Docker桥接网络模型的内部机制,通过手动实现vethpair、bridge、iptables等关键技术,揭示网络背后的运作原理。如果你对云原生技术充满好奇,想要深入了解更多相关的文章和资讯,欢迎关注微信公众号。搜索公众号【探索云原生】即可订阅1.概述Docker有多......
  • 搭建邮件服务器基于docker镜像的iredmail
    第一步安装docker很多博客都有,不过大多是自动模式如果要离线安装docker,需要下载docker安装包第二步安装iredmail/mariadbW1在线拉取如果是有互联网接入的,当然可以使用dockerpull命令直接拉取镜像,dockerpulliredmail/mariadbW2中间拉取使用一台有互联网接入的虚拟机......
  • window install docker
    First,installwsl(referto https://learn.microsoft.com/en-us/windows/wsl/install,https://zhuanlan.zhihu.com/p/69121280):executebelowcommandinpowershell  usingadminstratorwsl--installEnable-WindowsOptionalFeature-Online-FeatureNameVirtualMac......
  • Failed to create CoreCLR, HRESULT: 0x80070008--.net core 8 run in docker
    这几天计划打算上传微服务网关和微服务注册中心的docker镜像:Taurus.Gateway、Taurus.RegistryCenter却发现dockerhub在国内无法使用了。目前使用阿里云个人免费版来上传镜像。用.netcore8打包本地测试正常后,上传阿里云,再从虚拟机测试下载运行时出现以下问题:Failedtocre......