Coder Social home page Coder Social logo

yzq1979 / cloud-lab Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tinyclub/cloud-lab

0.0 3.0 0.0 896 KB

Docker based Cloud Lab Center, with noVNC and Gateone attachable LXDE Desktop and SSH Terminal.

Home Page: http://tinylab.cloud:6080

License: GNU General Public License v2.0

Dockerfile 4.22% Shell 95.78%

cloud-lab's Introduction

Cloud Lab

Cloud Lab is a Docker based online lab center, it integrates many popular computer science courses and provides a Docker based experiment environment as-is.

Quickstart

Install docker

Cload Lab is docker based, please make sure docker environment is installed with Docker CE, Docker CE support Mac, Windows, Ubuntu, Debian, Fedora, CentOS, Azure and AWS, we have tested Cloud Lab with Docker CE in Ubuntu and Mac.

The old install method for Windows and Mac OSX is Docker Toolbox.

Configure docker

In order to run docker without password, please make sure your user is added in the docker group:

$ sudo usermod -aG docker $USER

In order to speedup docker images downloading, please configure a local docker mirror in /etc/default/docker, for example:

$ grep registry-mirror /etc/default/docker
DOCKER_OPTS="$DOCKER_OPTS --registry-mirror=https://docker.mirrors.ustc.edu.cn"
$ service docker restart

In order to avoid network ip address conflict, please try following changes and restart docker:

$ grep bip /etc/default/docker
DOCKER_OPTS="$DOCKER_OPTS --bip=10.66.0.10/16"
$ service docker restart

If the above changes not work, try something as following:

$ grep dockerd /lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H fd:// --bip=10.66.0.10/16 --registry-mirror=https://docker.mirrors.ustc.edu.cn
$ service docker restart

If installed via Docker Toolbox, to access the Lab page, we must get and use the eth1 ip address, just replace 'localhost' with this ip in the Lab page url:

$ ifconfig eth1 | grep 'inet addr' | tr -s ' ' | tr ':' ' ' | cut -d' ' -f4
192.168.99.100

If the Linux system is installed on Virtualbox by ourselves, to access the Lab page outside, we must add the eth1 network device at first via setting: 'Network -> Adapter2 -> Host-only Adapter'.

Choose a working directory

If installed via Docker Toolbox, please enter into the /mnt/sda1 directory of the default system on Virtualbox, otherwise, after poweroff, the data will be lost for the default /root directory is only mounted in DRAM.

$ cd /mnt/sda1

For Linux or Mac OSX, please simply choose one directory in ~/Downloads or ~/Documents.

$ cd ~/Documents

Download cloud-lab

$ git clone https://github.com/tinyclub/cloud-lab.git

Choose a Lab

$ tools/docker/choose

Current Lab is: linux-lab

Available Labs:

     1	cs630-qemu-lab
     2	linux-0.11-lab
     3	linux-lab
     4	markdown-lab
     5	qing-lab
     6	tinylab.org

Choose the lab number: 2
     2	linux-0.11-lab


Download the lab...

Run the Lab

$ tools/docker/run

Remove the Lab

$ tools/docker/rm

Stop the Lab

$ tools/docker/stop

Start the Lab

$ tools/docker/start

Update everything

$ tools/docker/update

Autostart everything

$ tools/docker/autostart

Run as root without password

If get syntax error under /etc/sudoers*, please use pkexec visudo to fix up it.

$ sudo -s
$ echo "$SUDO_USER ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/$SUDO_USER

cloud-lab's People

Contributors

lzufalcon avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.