在Docker运行时传递多个命令

当不向您的工作站安装其他二进制文件时,可有效地为我们的工作负载提供服务的Docker形式也是一个了不起的工具。

最终,您将发现仅在docker上运行一个命令非常简单容易。

例如,我想在go中运行一个hello world。

我的源代码将成为简单的hello世界。

package main

import "fmt"

func main() {
    fmt.Println("hello world")
}

很简单! 该文件应命名为hello_world.go

现在,让我们在容器中运行它。

docker run -v $(pwd):/go/src/app --rm --name helloworld golang:1.8 go run src/app/hello_world.go

如何安装一些go软件包并在一口气中运行我们的应用程序呢?

如果您尝试这样做,您将意识到docker不会以您想要的方式解释命令,因此,这就是获取所需结果的方法。

如果您的映像包含/ bin / bash或bin / sh二进制文件,则可以传递您要作为字符串执行的命令。

docker run -v $(pwd):/go/src/app --rm --name helloworld golang:1.8 /bin/bash -c "cd src/app;go get https:yourpackage;go run src/app/hello_world.go

而已! 现在,您可以运行复杂的bash单行程序,而不必担心在工作站上安装其他软件

翻译自: https://www.javacodegeeks.com/2019/06/pass-multiple-commands-docker-run.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值