Hey, I'm trying to build a customized LakeFS serve...
# help
u
Hey, I'm trying to build a customized LakeFS server. After modifying the code, running
make build-docker
doesn't seem to generate a docker image with my local code. Is it still pulling the GitHub code for the build?
b
hi, usually you just need to build the generated code step and the docker build should pass. can you build one outside the docker, it should produce all the generated code. make build
if it fails, share the error, it will point us to the issue.
u
@Barak Amar Local build works fine. After packaging, how should the docker image be built? Since it needs to be deployed via Helm, how should the corresponding executable files be placed? Also, could you please take another look at this issue? Thank you very much for your help! https://lakefs.slack.com/archives/C016726JLJW/p1758164846384179?thread_ts=1756198458.083399&cid=C016726JLJW
b
@薛宇豪 you will need to tag the image to your repository, push it to your registry. In the helm chart the image repository can be specified using
image.repository
.
gratitude thank you 1
ex:
Copy code
docker tag treeverse/lakefs:dev barak/lakefs:1
docker push barak/lakefs:1
about the second thread; I'll try to get back to you later today with an example on how to do it.
u
@Barak Amar Thanks, I understand how to use other docker images within Helm. What I'm actually asking is how to package it into an image after successfully building locally. Is it by directly mounting LakeFS project into the container environment and then executing
make build
? Will the corresponding tools needed would be installed directly in directories like
/usr/local
?
b
The final docker image include lakefs and lakectl under /app folder. But I'm not sure if this is what you are asking. lakefs is a single binary and do not require other tools and resources in order to run.
If you are asking about how to build the docker image. The makefile option or just
docker build -t lakefs .
should work. Note that if you are targeting the image for a specific image add --platform (example: --platform linux/amd64).
u
@Barak Amar Oh, my explanation might not have been clear. What I mean is that I can't just place the
lakefs
executable file or other config file anywhere in the Docker image and expect it to be recognized. Now I understand that it should only need to be able to use
lakefs
in the docker entrypoint.
b
I was sure you use the dockerfile in the lakefs repo, so it was given 🙂 The current chart doesn't gives an option to customize the command/args.
gratitude thank you 1