# 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