permalink: 2.4.0/docs/build/compile-by-docker/ redirect_from:
Pegasus encapsulates the building environments into docker images, you can build directly based on these environments.
For example, you can use the image based on Ubuntu 20.04
:
docker pull apache/pegasus:build-env-ubuntu2004
Please refer to Downloads to fetch the sources under a directory (/your/local/apache-pegasus-source
). Then run the following command:
docker run -v /your/local/apache-pegasus-source:/root/pegasus \ apache/pegasus:build-env-ubuntu2004 \ /bin/bash -c "cd /root/pegasus; ./run.sh build -c --clear_thirdparty -j $(nproc)"
The output of compilation will be placed under DSN_ROOT
of the source directory. It includes bin
, include
and lib
.
Package server binaries for deployment:
docker run -v /your/local/apache-pegasus-source:/root/pegasus \ apache/pegasus:build-env-ubuntu2004 \ /bin/bash -c "./run.sh pack_server"
Package client libraries for C/C++ development:
docker run -v /your/local/apache-pegasus-source:/root/pegasus \ apache/pegasus:build-env-ubuntu2004 \ /bin/bash -c "./run.sh pack_client"
Package toolset which includes various tools (shell, bench):
docker run -v /your/local/apache-pegasus-source:/root/pegasus \ apache/pegasus:build-env-ubuntu2004 \ /bin/bash -c "./run.sh pack_tools"
If this is your first time compiling Pegasus, it's recommended to try onebox.