1.2 为其它平台交叉编译:

1.3 只编译某一个模块:

  1. $ make WHAT=./pkg/controller

用法

  1. $ scripts/build-image.sh -m=controller -i=mini-controller -t=dev
  2. $ scripts/build-image.sh -m=funclet -i=mini-funclet -t=dev
  3. $ scripts/build-image.sh -m=stubs -i=func-registry -t=dev

如果您需要发布打包好的镜像,需要指定REGISTRY,如:

    REGISTRY地址可以在 中免费申请体验

    如果需要容器build项目,可以使用WITHBUILD环境变量控制

    1. $ 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

    1. export DOCKER_CONFIG_ONLINE="/tmp/docker/config/online"
    2. export DOCKER_CONFIG_TEST="/tmp/docker/config/test"
    3. # online
    4. $ docker --config $DOCKER_CONFIG_ONLINE login registry.baidubce.com -u <online-user> -p'<online-password>'
    5. # test
    6. $ docker --config $DOCKER_CONFIG_TEST login registry.baidubce.com -u <test-user> -p'<test-password>'

    如果在本机,否则需要上传镜像

    1. #runner-runtime请直接下载镜像
    2. 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
    3. #分别启动controller、stubs(func-registry)、funclet组件
    4. 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>
    5. 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
    6. 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文件