在我的 docker-compose 文件中,有超过 3 个服务。我使用 makefile 从 docker 命令传递两个变量。但我面临一个问题 - 执行第一个命令后,类似的第二个命令不执行。
请参阅此示例以更好地理解 -
docker-compose 文件是 -
version: '3.7'
services:
ping:
container_name: ping_svc
image: "${PING_IMAGE_NAME}${PING_IMAGE_TAG}"
ports:
- 8080:8080
command: serve
environment:
- CONSUL_URL=consul_dev:8500
- CONSUL_PATH=ping
tty: true
id:
container_name: id_svc
image: "${ID_IMAGE_NAME}${ID_IMAGE_TAG}"
ports:
- 8081:8081
command: serve
environment:
- CONSUL_URL=consul_dev:8500
- CONSUL_PATH=id
tty: true
Run Code Online (Sandbox Code Playgroud)
我的 makefile 命令是-
# setting ping_image
@PING_IMAGE_NAME="ping-svc:" PING_IMAGE_TAG="1.0" docker-compose up -d
# setting id_image
@ID_IMAGE_NAME="id-svc:" ID_IMAGE_TAG="1.0" docker-compose up -d
Run Code Online (Sandbox Code Playgroud)
和PING_IMAGE_NAME设置PING_IMAGE_TAG成功,但从下一行开始未执行。为什么?有没有更好的方法来做到这一点?
我有一个类似的界面{} -
Rows interface{}
Run Code Online (Sandbox Code Playgroud)
在Rows界面中,我放置了ProductResponse结构。
type ProductResponse struct {
CompanyName string `json:"company_name"`
CompanyID uint `json:"company_id"`
CompanyProducts []*Products `json:"CompanyProducts"`
}
type Products struct {
Product_ID uint `json:"id"`
Product_Name string `json:"product_name"`
}
Run Code Online (Sandbox Code Playgroud)
我想访问 Product_Name 值。如何访问这个。我可以使用“ reflect ”pkg访问外部值(CompanyName、CompanyID)。
value := reflect.ValueOf(response)
CompanyName := value.FieldByName("CompanyName").Interface().(string)
Run Code Online (Sandbox Code Playgroud)
我无法访问Products结构值。怎么做?