我正在尝试在Makefile配方中执行以下操作。使用python脚本获取服务器container-ip。构建命令以在Docker容器中运行。在Docker容器中运行命令。
test:
SIP=$(shell python ./scripts/script.py get-server-ip)
CMD="iperf3 -c ${SIP} -p 33445"
docker exec server ${CMD}
我明白了
$ make test
SIP=172.17.0.6
CMD="iperf3 -c -p 33445"
docker exec server
"docker exec" requires at least 2 arguments.
See 'docker exec --help'.
用法:docker exec [OPTIONS]容器命令[ARG ...]
在正在运行的容器中运行命令制作:*** [测试]错误1
我最终得到了这样的东西。
SERVER_IP=$(shell python ./scripts/script.py get-server-ip); \
SERVER_CMD="iperf3 -s -p ${PORT} -4 --logfile s.out"; \
CLIENT_CMD="iperf3 -c $${SERVER_IP} -p ${PORT} -t 1000 -4 --logfile c.out"; \
echo "Server Command: " $${SERVER_CMD}; \
echo "Client Command: " $${CLIENT_CMD}; \
docker exec -d server $${SERVER_CMD}; \
docker exec -d client $${CLIENT_CMD};
这似乎正常。很想知道是否还有其他方法可以这样做。