使用Docker/Kubernetes部署在线街机小游戏
小破站老大
2022-09-12 PM
1203℃
0条
DEMO
https://game.ipip.icu
Docker
安装Docker
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
yum -y install docker-ce-19.03.5
systemctl enable docker && systemctl start docker
部署dosgame
docker run -d --name dosgame -p 262:262 oldiy/dosgame-web-docker:latest
高级启动(可选)
需要先将容器内/app/static/games拷贝出来
docker run -d --name dosgame -p 262:262 -v <host/file>:/app/static/games oldiy/dosgame-web-docker:latest
Kubernetes
---
# Source: dosgame/templates/volume-claim.yaml
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: caddy-data-pvc
spec:
storageClassName: nfs-storage
accessModes:
- ReadWriteMany
resources:
requests:
storage: 3Gi
---
# Source: dosgame/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
name: dosgame
spec:
type: NodePort
ports:
- port: 262
nodePort: 26222
protocol: TCP
name: http
selector:
app.kubernetes.io/name: dosgame
app.kubernetes.io/instance: dosgame
---
# Source: dosgame/templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: dosgame
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: dosgame
app.kubernetes.io/instance: dosgame
template:
metadata:
labels:
app.kubernetes.io/name: dosgame
app.kubernetes.io/instance: dosgame
spec:
volumes:
- name: dosgame-data
persistentVolumeClaim:
claimName: dosgame-data-pvc
securityContext:
{ }
containers:
- name: dosgame
securityContext:
{ }
image: "oldiy/dosgame-web-docker:latest"
imagePullPolicy: IfNotPresent
ports:
- name: http
containerPort: 262
protocol: TCP
volumeMounts:
- name: dosgame-data
mountPath: /app
resources:
limits:
cpu: 1000m
memory: 1024Mi
requests:
cpu: 100m
memory: 128Mi