当不向您的工作站安装其他二进制文件时,可有效地为我们的工作负载提供服务的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