连接两个容器,从Golang容器中调用Python容器,并执行script.py脚本。

huangapple go评论80阅读模式
英文:

connect 2 containers, call python container and execute script.py from golang container

问题

我正在使用两个Docker容器来开发一个Web应用程序。在我的Golang Docker容器中,我有我的Web服务器,在提交表单后,我想在我的Python容器中处理输入。我的第一个想法是使用Golang:

exec.Command('python3', 'script.py', 'args')

但是我不知道如何调用Python容器,就像使用它的Bash终端而不是Golang的终端一样。有什么想法吗?

英文:

I am using two docker containers to develop a web app. Inside my golang docker container i have my web server, after submiting a form I want to process the inputs in my Python container. My first idea is to use golang:

exec.Command('python3', 'script.py', 'args')

But I don't know how to call the Python container, like using its bash terminal instead of the golang one. Any ideas?

答案1

得分: 3

根据本质,Docker容器是隔离的,你不能直接在一个容器中执行另一个容器的代码。
在微服务的理念中,你更倾向于在Python容器中暴露一个API,并从Go容器中调用该API。

另一方面,从主机上,你可以使用docker exec <command>在Python容器内执行一个"一次性命令"。

英文:

by essence, the docker containers are isolated and you cannot directly execute code from one in another.
In the microservice philosophy, you would more preferably expose and API in the python container and call this API from the go container.

On the other hand, from the host, you can execute a one shot command inside your python container by using docker exec &lt;command&gt;

huangapple
  • 本文由 发表于 2021年9月14日 03:22:47
  • 转载请务必保留本文链接:https://go.coder-hub.com/69168065.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定