1.2 为其它平台交叉编译:
1.3 只编译某一个模块:
$ make WHAT=./pkg/controller
用法
$ scripts/build-image.sh -m=controller -i=mini-controller -t=dev
$ scripts/build-image.sh -m=funclet -i=mini-funclet -t=dev
$ scripts/build-image.sh -m=stubs -i=func-registry -t=dev
如果您需要发布打包好的镜像,需要指定REGISTRY,如:
REGISTRY地址可以在 中免费申请体验
如果需要容器build项目,可以使用WITHBUILD环境变量控制
$ sudo WITHNODEJS8=1 WITHNODEJS10=1 WITHNODEJS12=1 WITHPYTHON2=1 WITHPYTHON3=1 WITHJAVA8=1 bash scripts/runner-runtime/build.sh image:tag runnertag
您也可以提前配置不同的部署环境镜像仓库 eg: 线上环境的配置目录 ~/zhangsan/docker/config/online
测试环境的配置目录 ~/zhangsan/docker/config/test
export DOCKER_CONFIG_ONLINE="/tmp/docker/config/online"
export DOCKER_CONFIG_TEST="/tmp/docker/config/test"
# online
$ docker --config $DOCKER_CONFIG_ONLINE login registry.baidubce.com -u <online-user> -p'<online-password>'
# test
$ docker --config $DOCKER_CONFIG_TEST login registry.baidubce.com -u <test-user> -p'<test-password>'
如果在本机,否则需要上传镜像
#runner-runtime请直接下载镜像
docker run -t -d -e WITHRUNNER=1 -e WITHNODEJS10=1 -e WITHNODEJS12=1 -e WITHPYTHON3=1 --name runner-runtime -v ${faasPath}/runtime:/var/faas/runtime -v ${faasPath}/runner:/var/faas/runner registry.baidubce.com/easyfaas-public/runner-runtime:demo1.0
#分别启动controller、stubs(func-registry)、funclet组件
docker run -t -d --privileged -v ${faasPath}/runner:/var/faas/runner -v ${faasPath}/runtime:/var/faas/runtime -v ${faasPath}/data:/var/faas/runner-data -v ${faasPath}/invoker/run:/var/run/faas -v ${faasPath}/funcData:/var/faas/funcData --name mini-funclet-dev registry.baidubce.com/<your_namespace>/<your_funclet_image_name>:<your_image_tag>
docker run -t -d --network host -v ${faasPath}/invoker/run:/var/run/faas --name controller-dev registry.baidubce.com/<your_namespace>/<your_controller_image_name>:<your_image_tag> /controller --maxprocs=10 --port=8899 --repository-endpoint=http://127.0.0.1:8002 --repository-version=v1 --repository-auth-type=noauth --logtostderr=true --http-enhanced=true -v10
docker run -t -d --network host --name func-registry -v ${faasPath}/funcData:/var/faas/funcData registry.baidubce.com<your_namespace>/<your_func_registry_image_name>:<your_image_tag>
备注:更详细的参数,可以参考方式二中的docker-compose.yaml文件