MCPcopy Create free account
hub / github.com/1Panel-dev/1Panel / CreateVolume

Method CreateVolume

agent/app/service/container_volume.go:119–145  ·  view source on GitHub ↗
(req dto.VolumeCreate)

Source from the content-addressed store, hash-verified

117 return nil
118}
119func (u *ContainerService) CreateVolume(req dto.VolumeCreate) error {
120 client, err := docker.NewDockerClient()
121 if err != nil {
122 return err
123 }
124 defer client.Close()
125 arg := filters.NewArgs()
126 arg.Add("name", req.Name)
127 vos, _ := client.VolumeList(context.TODO(), volume.ListOptions{Filters: arg})
128 if len(vos.Volumes) != 0 {
129 for _, v := range vos.Volumes {
130 if v.Name == req.Name {
131 return buserr.New("ErrRecordExist")
132 }
133 }
134 }
135 options := volume.CreateOptions{
136 Name: req.Name,
137 Driver: req.Driver,
138 DriverOpts: stringsToMap(req.Options),
139 Labels: stringsToMap(req.Labels),
140 }
141 if _, err := client.VolumeCreate(context.TODO(), options); err != nil {
142 return err
143 }
144 return nil
145}

Callers

nothing calls this directly

Calls 2

stringsToMapFunction · 0.85
CloseMethod · 0.65

Tested by

no test coverage detected