codecombat(Ubuntu环境详细docker部署教程)

目录

一、打开Ubuntu环境

1.安装压缩包

方法一:拖动式传输文件本地到Ubuntu

方法二:如果不能拖动,也不用着急,用另一种方法。

二、开始解压该文件

三、下载docker部署

四、部署文件包

五、部署docker并查看效果

六、开机自启动


一、打开Ubuntu环境

我用夸克网盘给你分享了「codecombat.zip」,点击链接或复制整段内容,打开「夸克APP」即可获取。(本文章个人项目部署练手,不要触犯法律责任)

/~e71e382pF1~:/

链接:https://pan.quark.cn/s/b44d80b9ba30

1.安装压缩包

安装codecombat的LINUX部署压缩包,可以放在桌面上。

然后进入Ubuntu系统,安装VMware tools

更新软件源 sudo apt update

下面两种方式自选:

安装适用于桌面版的工具 sudo apt install open-vm-tools-desktop

若是服务器版(无图形界面) sudo apt install open-vm-tools

重启生效 sudo reboot

检查是否安装了桌面版工具

dpkg -l | grep open-vm-tools-desktop

方法一:拖动式传输文件本地到Ubuntu

重启虚拟机,然后进入设置打开共享文件夹。

低版本改了下面这个还是可以托揣文件的,高版本24+的不行。

打开终端切换到root用户sudo su

进入这个目录 cd /etc/gdm3 展开ls 安装vim:sudo apt install vim

编写这个文件:vim custom.conf

找到这个参数

按i修改,把前面的#删掉,然后按Esc键,输入:x保存退出。

输入reboot重启,重启之后,进入主目录,新建一个文件夹code。

然后把刚下的本地包拉进去。(高版本Ubuntu行不通)

高版本用共享文件,在设置把本地要共享的文件夹位置,选中。

启用那个添加

重启一下就有了。然后移动到code文件夹内。

方法二:如果不能拖动,也不用着急,用另一种方法。

同样的在本地创建共享文件夹,然后在vm里面设置到Linux的共享文件夹。

第二步打开Ubuntu,然后找到文件夹。左边最底下那个其它位置,然后点Ubuntu,找配置文件。

这个位置mnt/hgfs,最开始没设置,正常情况都是显示空文件夹。

然后打开终端输入sudo mount -t fuse.vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other

**这是特殊情况:**如果没有这个文件夹那输入sudo mount -t fuse.vmhgfs-fuse .host:/ /mnt -o allow_other(正常情况不用管这一步)

就会显示本地共享文件。

二、开始解压该文件

Ubuntu的硬盘要大一点,至少100g

把文件夹复制到桌面上面:sudo chmod -R 777 /mnt/hgfs/vm_share

然后进入该文件夹:cd ~/桌面/codecombat

开始解压文件:unzip codecombat.zip

要里面两个子文件压缩包。

三、下载docker部署

下载:sudo apt install docker.io

导入镜像:sudo docker load < codecombat.tar

创建数据目录:sudo mkdir ~/桌面/codecombat/codecombat/{data,mongo} -pv

四、部署文件包

创建Ubuntu本地文件夹

然后删除data里面的第一个空文件夹。

把这个0字节的dump.tar.gz缓存删掉:sudo rm -rf dump.tar.gz

然后把下载的压缩包下载到这里来:

解压项目:sudo tar -zxvf dump.tar.gz

停止正在运行的容器:sudo docker stop $(sudo docker ps -q)

删除所有已停止的容器:sudo docker rm $(sudo docker ps -aq)

查看现在存在的容器(应为空):sudo docker ps

五、部署docker并查看效果

运行容器:sudo docker run -id \

-v ~/桌面/codecombat/codecombat/data:/home/coco/codecombat/data \

-v ~/桌面/codecombat/codecombat/mongo:/home/coco/codecombat/mongo \

-p 9485:9485 \

-p 13000:3000 \

operepo/ope-codecombat:latest

查看正在运行的容器(包含 ID)

sudo docker ps

sudo docker restart (实际ID)

访问服务器端口http://localhost:13000

注册独立账号。

然后查看服务器后台:sudo docker exec -it (实际容器ID) bash

mongo相当于数据库

更改数据内容:use coco

输入:记得把admin更改为自己的刚注册的用户名。

db.users.update({'name':'admin'},{$set:{'earned.gems':9999999, permissions:["godmode","admin"]}},true,false);

进网站刷新,所有都显示了。

六、开机自启动

最后设置开机自启动:

sudo nano /etc/systemd/system/codecombat.service

步骤 1: 创建 systemd 服务文件

执行以下命令创建服务配置文件:sudo nano /etc/systemd/system/codecombat.service
步骤 2: 写入配置内容

在打开的编辑器中,粘贴以下内容(直接使用你的容器 ID 和名称):

Unit

Description=CodeCombat Docker 容器自启动服务

Requires=docker.service

After=docker.service

Service

Type=oneshot

RemainAfterExit=yes

启动容器(同时指定 ID 和名称,确保准确性)

ExecStart=/usr/bin/docker start 容器id 容器名称

停止容器

ExecStop=/usr/bin/docker stop 容器id 容器名称

服务异常时自动重启

Restart=on-failure

Install

WantedBy=multi-user.target
步骤 3: 保存并退出编辑器

按下 Ctrl + X(退出)

输入 Y(确认保存)

按下 Enter(使用默认文件名)
步骤 4: 启用并启动服务

重新加载 systemd 配置,让新服务生效:

sudo systemctl daemon-reload

启用开机自启动:

sudo systemctl enable codecombat.service

手动启动服务(验证是否正常工作):

sudo systemctl start codecombat.service
步骤 5: 验证配置是否成功

查看服务状态:

sudo systemctl status codecombat.service

相关推荐
无痕melody5 小时前
飞牛Docker部署免费frp内网穿透
docker
努力努力再努力wz6 小时前
【c++进阶系列】:万字详解异常
java·linux·运维·服务器·开发语言·c++
陈年丶风褛6 小时前
Linux 排查大文件, 两步搞定
运维
Java陈序员7 小时前
12K+ Star!新一代的开源持续测试工具!
java·vue.js·docker
是乐谷7 小时前
Python图片转WebP常用库推荐:Pillow、Wand、cv2
大数据·运维·开发语言·人工智能·python·开源·pillow
工藤新一¹7 小时前
进程状态 —— Linux内核(Kernel)
linux·运维·服务器·c/c++·进程状态·linux内核(kernel)
❀͜͡傀儡师7 小时前
对于Linux下的海量文件传输,rsync 是远比 scp 更优。
linux·运维·网络·rsync
容器魔方8 小时前
华为云云原生团队 2026 届校招正式启动
云原生·容器·云计算
人工智能训练师8 小时前
部署在windows的docker中的dify知识库存储位置
linux·运维·人工智能·windows·docker·容器