+
Skip to content

otatebe/mochi-container

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mochi-Margo Workspace

This provides a four-node virtual cluster by docker to develop distributed systems in Mochi-Margo and Mochi-Thallium.

Container hostnames are c1, c2, c3, and c4. The workspace in a container is ~/workspace, which is shared among all containers.

This directory also includes sample programs in Mochi-Margo and Mochi-Thallium.

About Mochi-Margo and Mochi-Thallium

Margo is a C library that helps develop distributed services based on RPC and RDMA. Thallium is a complete object-oriented wrapper for Margo in C++.

Document [ Margo | Thallium ]
Repository [ Margo | Thallium ]

Prerequisites for Windows

Install WSL

Prerequisities

Install Docker Engine

To allow docker compose to run with user privileges, add $USER to the docker group by sudo usermod -aG docker $USER

Execute docker containers by Docker Engine and login to a container

$ make build
$ make up
$ make

or

$ docker compose build --build-arg UID=$(id -u) c1
$ docker compose up -d
$ docker exec -u ${USER} -w /home/${USER}/workspace -it mochi-c1 bash

Execute docker containers by VS Code dev containers and login to a container

  • Install VS Code and Remote Containers extension
  • Open this directory
  • Open a command palette by Ctrl+Shift+P and execute "Remote-Containers: Rebulid and Reopen in Container"

Sample programs

There are sample programs in Mochi-margo in the sample directory, and in Thallium in the thallium-sample directory.

Login to other containers in a container

$ ssh c2

Install new packages in a container

$ sudo apt-get update
$ sudo apt-get install ...

or modify Dockerfile

Stop containers

(in a host)

$ make down

or

$ docker compose down

Enjoy!

About

Mochi-Margo docker containers to develop distributed systems

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载