《自己动手写docker》之namespace部门实验

简介: 动手写一遍,印象不一样! package main import ( "log" "os" "os/exec" "syscall" ) func main() { cmd := exec.

动手写一遍,印象不一样!

package main

import (
    "log"
    "os"
    "os/exec"
    "syscall"
)

func main() {
    cmd := exec.Command("sh")
    cmd.SysProcAttr = &syscall.SysProcAttr{}
    cmd.SysProcAttr.Cloneflags = syscall.CLONE_NEWNS | syscall.CLONE_NEWUTS | syscall.CLONE_NEWPID | syscall.CLONE_NEWIPC | syscall.CLONE_NEWNET
    cmd.SysProcAttr.Credential = &syscall.Credential{Uid: uint32(1), Gid: uint32(1)}
    cmd.Stdin = os.Stdin
    cmd.Stdout = os.Stdout
    cmd.Stderr = os.Stderr

    if err := cmd.Run(); err != nil {
        log.Fatal(err)
    }
    os.Exit(-1)
}

  

目录
相关文章
|
3月前
|
存储 网络协议 Linux
深入剖析docker核心技术(namespace、cgroups、union fs、网络)(二)
深入剖析docker核心技术(namespace、cgroups、union fs、网络)(二)
40 0
|
3月前
|
Linux 调度 虚拟化
深入剖析docker核心技术(namespace、cgroups、union fs、网络)(一)
深入剖析docker核心技术(namespace、cgroups、union fs、网络)(一)
112 0
|
10月前
|
XML 消息中间件 Unix
【Docker】LXC所实现的隔离性、Linux Namespace等讲解
【Docker】LXC所实现的隔离性、Linux Namespace等讲解
|
弹性计算 安全 Linux
《云计算技术》实验-Docker部署
安装Docker(Linux) 部署一个简单的Python应用 部署c++应用
228 0
《云计算技术》实验-Docker部署
|
NoSQL Java Redis
【Docker】搭建部署Redis高可用集群实验
【Docker】搭建部署Redis高可用集群实验
839 1
【Docker】搭建部署Redis高可用集群实验
|
NoSQL Shell Redis
docker 容器安全问题实验
docker 容器安全问题实验
383 0
|
Ubuntu NoSQL 编译器
Docker搭建i386实验环境,gcc多态实现
使用Docker搭建了i386的实验环境,并且使用多种工具验证了gcc实现多态的机制。
|
弹性计算 Go Docker
冬季实战营第四期:Docker · 一个开源的容器引擎实验报告
Docker 是一个开源的容器引擎,用于创建、管理和编排容器,可以轻松为任何应用创建一个轻量级、可移植、自给自足的容器。本步骤将在ECS上部署一个Docker服务,并配置DockerHub的镜像加速器。
328 0
冬季实战营第四期:Docker  · 一个开源的容器引擎实验报告