运行docker容器时如何动态传入golang中的flag参数
容器使用已经有一段时间了,对于运行docker时怎么动态传入golang中的flag参数还没有尝试过。以前使用的时候都是使用环境变量的形式,golang既然有flag的形式,那就有必要研究一下。下面主要针对docker、docker-compose两种方式
docker file define
| 1 | FROM alpine:3.7 | 
| 1 | //build docker image | 
docker
- 直接运行 - 1 
 2
 3
 4
 5
 6- go run main.go -url=localhost -port 9999 
 output:
 flag url is localhost
 flag port is 9999
- docker run - 1 
 2
 3
 4
 5
 6- docker run test -url=localhost -port=9999 
 output:
 flag url is localhost
 flag port is 9999
docker-compose
- define docker-compose - 1 
 2
 3
 4
 5
 6
 7
 8- version: "3" 
 services:
 demo:
 image: test
 entrypoint:
 - /go/bin/demo
 - -url=localhost
 - -port=9999
- run - 1 
 2- docker-compose up -d 
 //查看对应容器日志 同样打印了上述信息