1. 安装、配置 Ubuntu
本部分内容是安装、配置 Ubuntu 操作系统,本质上与安装 Code Combat 无关。你装不装 codecombat,你的 Ubuntu 系统都是这么装的。
sudo apt remove thunderbird rhythmbox libreoffice-*
sudo apt autoremove
sudo apt install net-tools openssh-server
sudo vi /etc/apt/sources.list
deb http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse
2. 安装、配置 docker
本部分内容是安装、配置 Docker ,本质上与安装 codecombat 无关。你装不装 codecombat,你的 Docker 都是这么装的。
-
卸载旧版本。
sudo apt remove \ docker \ docker-engine \ docker-ce \ docker.io
-
配置 docker 软件源
sudo apt install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
sudo apt update
-
安装 docker
-
下载、安装
sudo apt install \ docker-ce \ docker-ce-cli \ containerd.io
-
启动
# 启动 docker 服务端 sudo systemctl start docker # 将 docker 服务端设置为开机启动 sudo systemctl enable docker
-
将你自己添加到 docker 用户组中
# 创建名为 docker 的用户组。 # 正常情况下,这条命令的结果会告诉你 docker 用户组已存在。 sudo groupadd docker # 将当前用户(即你所登录系统的账号)添加至 docker 用户组 sudo gpasswd -a $USER docker # 更新 docker 用户组 newgrp docker
-
配置国内镜像
sudo vi /etc/docker/daemon.json
{ "registry-mirrors": [ "https://registry.docker-cn.com", "https://docker.mirrors.ustc.edu.cn" ] }
-
重启 docker
sudo systemctl restart docker
安装 codecombat
从这里开始,以下操作才与 codecombat 有直接关系。
-
导入已有的镜像文件
docker load -i codecombat.tar
-
从上述镜像创建 codecombat 的容器
docker run -itd --name codecombat -p 0.0.0.0:3000:3000 codecombat:latest /bin/bash -c "/etc/rc.local;/bin/bash"
-
进入 codecombat 容器
docker exec -it codecombat /bin/bash
执行
# 在容器内执行 vi /etc/rc.local
写入如下内容(本质上是在
exit 0
添加 2 行):#!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. cd /home/coco/codecombat && nohup ./bin/coco-mongodb & cd /home/coco && nohup sh start.sh & exit 0
-
退出容器,重启 docker 容器
# 重启 codecombat 容器 docker restart codecombat
-
访问
http://ip:3000
,注册账号,开始游戏。
网友评论