# mgface-docker **Repository Path**: simon9102/mgface-docker ## Basic Information - **Project Name**: mgface-docker - **Description**: 如何用golang语言实现一个精简容易理解的docker。从中去窥探docker的技术实现。 - **Primary Language**: Go - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://www.mgface.com - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2023-06-29 - **Last Updated**: 2023-11-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # mgface-docker #### 项目介绍 使用golang语言来实现精简版的docker,从中我们来窥探docker的实现细节和原理。本项目的官网为[mgface.com](https://www.mgface.com),里面有项目的设计思路和代码思路讲解,欢迎访问。 #### 软件架构
├── aufs
│ ├── deleteFileSystem.go
│ └── newFileSystem.go
├── cgroup
│ ├── cgroupManager.go
│ ├── cgroupTools.go
│ ├── cpu.go
│ ├── cpuset.go
│ ├── memory.go
│ └── resouceConfig.go
├── command
│ ├── commitCommand.go
│ ├── execCommand.go
│ ├── initCommand.go
│ ├── listCommand.go
│ ├── logCommand.go
│ ├── networkCommand.go
│ ├── rmCommand.go
│ ├── runCommand.go
│ ├── startCommand.go
│ └── stopCommand.go
├── constVar
│ └── constVariables.go
├── container
│ ├── commit.go
│ ├── exec.go
│ ├── init.go
│ ├── logs.go
│ ├── ps.go
│ ├── rm.go
│ ├── run.go
│ ├── start.go
│ └── stop.go
├── containerInfo
│ ├── containerInfo.go
│ ├── randStringBuffer.go
│ └── randStringBuffer_test.go
├── containerNet
│ ├── bridgeDriver.go
│ ├── driver.go
│ ├── golang daemon实现.md
│ ├── hostPortUp.go
│ ├── init.go
│ ├── ipam.go
│ ├── ipam_test.go
│ ├── network.go
│ └── networkTools.go
├── Gopkg.lock
├── Gopkg.toml
├── main.go
├── nsenter
│ └── setns.go
#### 安装教程
1. 首先要下载golang并且安装
2. 下载该代码
3. 设置环境变量
export GOROOT=/usr/local/go
export GOPATH=/usr/local/goproject/mgface-docker
export APP=$GOPATH/bin
export PATH=$APP:$PATH:$GOPATH:$GOROOT/bin
#### 使用说明
1. mgface.com --help