美文网首页
docker-for-coco

docker-for-coco

作者: hemiao3000 | 来源:发表于2021-03-02 08:04 被阅读0次

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 都是这么装的。

  1. 卸载旧版本。

    sudo apt remove \
      docker \
      docker-engine \
      docker-ce \
      docker.io
    
  2. 配置 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
    
  3. 安装 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,注册账号,开始游戏。

相关文章

  • docker-for-coco

    1. 安装、配置 Ubuntu 本部分内容是安装、配置 Ubuntu 操作系统,本质上与安装 Code Comba...

网友评论

      本文标题:docker-for-coco

      本文链接:https://www.haomeiwen.com/subject/iuctqltx.html