Documentation
¶
Index ¶
- Constants
- Variables
- func CreateReadOnlyLayer(imageName, layerName string) error
- func CreateWriteLayer(layerName string) error
- func DeleteMountPoint(overlayDir string) error
- func DeleteVolumes(volumeURLs []string, layName string) error
- func DeleteWorkSpace(volueme, layerName string)
- func DeleteWriteLayer(layerName string)
- func InitLog(sugar *zap.SugaredLogger)
- func NewParentProcess(tty bool, containerName, volume, imageName string, envSlice []string) (*exec.Cmd, *os.File)
- func NewPipe() (*os.File, *os.File, error)
- func NewWorkSpace(volume, imageName, layerName string)
- func PathExists(path string) (bool, error)
- func RunContainerInitProcess() error
- type ContainerInfo
Constants ¶
View Source
const ( RUNNING string = "running" STOP string = "stopped" EXIT string = "exited" DefaultInfoLocation string = "/var/lib/gocker/%s/" ConfigName string = "config.json" ContainerLogFile string = "container.log" Dirver string = "overlay" OverlayDir string = "/var/lib/gocker/overlay/" )
View Source
const (
DriverURL = "/var/lib/gocker/overlay/"
)
Variables ¶
View Source
var Sugar *zap.SugaredLogger
Functions ¶
func CreateReadOnlyLayer ¶
创建只读的lower层 复制一份可执行文件过来 TODO: 支持java等的语言
func DeleteMountPoint ¶
func DeleteVolumes ¶
func DeleteWorkSpace ¶
func DeleteWorkSpace(volueme, layerName string)
删除容器overlay filesystem(仅保留lower层
func InitLog ¶
func InitLog(sugar *zap.SugaredLogger)
func NewParentProcess ¶
func RunContainerInitProcess ¶
func RunContainerInitProcess() error
这里的init函数是在容器内部执行的,进到这步的时候容器已经创建出来了 使用 mount 去挂载 proc 文件系统
Types ¶
type ContainerInfo ¶
type ContainerInfo struct { Pid string `json:"pid"` //容器的init进程在宿主机上的 PID Id string `json:"id"` //容器Id Name string `json:"name"` //容器名 Command string `json:"command"` //容器内init运行命令 CreatedTime string `json:"createTime"` //创建时间 Status string `json:"status"` //容器的状态 Volume string `json:"volume"` //容器的数据卷 PortMapping []string `json:"portmapping"` //端口映射 }
Click to show internal directories.
Click to hide internal directories.