第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

嘗試在 docker sdk 入口點(diǎn)中使用 $(command)

嘗試在 docker sdk 入口點(diǎn)中使用 $(command)

Go
SMILET 2022-06-13 16:22:55
所以正如標(biāo)題所說,我正在嘗試使用golang docker sdk(docker api)在入口點(diǎn)內(nèi)執(zhí)行一個(gè)簡單的命令。func RunBatch(imageName, containerName string, entrypoint []string, volumes []string) string {    ctx := context.Background()    c := getClient()    cfg := &container.Config{Entrypoint: entrypoint, Tty: true, Image: imageName}    hostCfg := &container.HostConfig{Mounts: make([]mount.Mount, len(volumes))}    netCfg := &network.NetworkingConfig{}    startCfg := types.ContainerStartOptions{}    for i := range volumes {        vols := strings.Split(volumes[i], ":")        hostCfg.Mounts[i] = mount.Mount{            Type:   mount.TypeBind,            Source: config.Config.BaseDir + vols[0],            Target: vols[1],        }    }    resp, err := c.ContainerCreate(ctx, cfg, hostCfg, netCfg, containerName)    if err != nil {        log.Fatal().Err(err)    }    err = c.ContainerStart(ctx, resp.ID, startCfg)    if err != nil {        log.Fatal().Err(err)    }    _, err = c.ContainerWait(ctx, resp.ID)    if err != nil {        log.Fatal().Err(err)    }    err = c.ContainerRemove(ctx, resp.ID, types.ContainerRemoveOptions{})    if err != nil {        log.Fatal().Err(err)    }    return resp.ID}我在這里傳遞的入口點(diǎn)是,["touch", "/app/$(date +'%T')"] 但創(chuàng)建的文件看起來像$(date +'%T'),我也嘗試過${date +'%T'}使用 backqoute 并失敗了。我怎么能執(zhí)行那些?!
查看完整描述

2 回答

?
喵喵時(shí)光機(jī)

TA貢獻(xiàn)1846條經(jīng)驗(yàn) 獲得超7個(gè)贊

與 shell 形式不同,exec 形式不調(diào)用命令 shell。這意味著不會(huì)發(fā)生正常的外殼處理。例如,ENTRYPOINT [ "echo", "$HOME" ]不會(huì)對(duì)$HOME. 如果你想要 shell 處理,那么要么使用 shell 形式,要么直接執(zhí)行 shell,例如:ENTRYPOINT [ "sh", "-c", "echo $HOME" ].



查看完整回答
反對(duì) 回復(fù) 2022-06-13
?
臨摹微笑

TA貢獻(xiàn)1982條經(jīng)驗(yàn) 獲得超2個(gè)贊

RunBatch將按字面意思對(duì)待價(jià)值entrypoint(正如你所經(jīng)歷的那樣)。

您需要為其提供 Golang 等效項(xiàng)( (bash's) 的Time.Format$(date +%T)才能成功:

也許:

["touch", fmt.Sprintf("/app/%s",time.Now().Format("15:04:05"))]

注意15:04:05是要遵循的模式,值將是當(dāng)前時(shí)間


查看完整回答
反對(duì) 回復(fù) 2022-06-13
  • 2 回答
  • 0 關(guān)注
  • 136 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)