{ “title”: “Doris Docker quick build development environment”, “language”: “en” }
create dockerfile
VSCode replace all by using Ctrl-d
FROM apache/incubator-doris:build-env-latest USER root WORKDIR /root RUN echo '<!!! root password !!!>' | passwd root --stdin RUN yum install -y vim net-tools man wget git mysql lsof bash-completion \ && cp /var/local/thirdparty/installed/bin/thrift /usr/bin # safer usage, create new user instead of using root RUN yum install -y sudo \ && useradd -ms /bin/bash <!!! your user !!!> && echo <!!! your user password !!!> | passwd <!!! your user !!!> --stdin \ && usermod -a -G wheel <!!! your user !!!> USER <!!! your user !!!> WORKDIR /home/<!!! your user !!!> RUN git config --global color.ui true \ && git config --global user.email "<!!! your git email !!!>" \ && git config --global user.name "<!!! your git username !!!>" # install zsh and oh my zsh, easier to use on, you can remove it if you don't need it USER root RUN yum install -y zsh \ && chsh -s /bin/zsh <!!! your user !!!> USER <!!! your user !!!> RUN wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | zsh \ && git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions \ && git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
run build command
docker build -t doris .
run image
note! problems with mounting
See the link above: It is recommended to run the image by mounting the local Doris source code directory as a volume .....
if you are developing on windows, mounting may cause cross-filesystem access problems, please consider setting it manually
--cap-add SYS_PTRACE parameter allows dockers to use ptrace, making it easier for us to use ptrace and gdb remote debugging functions.
docker run -it --cap-add SYS_PTRACE doris:latest /bin/bash
if you installed zsh, replace plugins in ~/.zshrc after running the container
plugins=(git zsh-autosuggestions zsh-syntax-highlighting)
create directory and download doris
su <your user> mkdir code && cd code git clone https://github.com/apache/doris.git cd doris git submodule update --init --recursive
Note:
use the following command first time compiling
sh build.sh --clean --be --fe --ui
it is because build-env-for-0.15.0 version image upgraded thrift(0.9 -> 0.13), so you need to use --clean command to force use new version of thrift to generate code files, otherwise it will cause incompatibilities.
compile Doris
sh build.sh
manually create meta_dir metadata storage location, default value is ${DORIS_HOME}/doris-meta
mkdir meta_dir
launch FE
cd output/fe sh bin/start_fe.sh --daemon
launch BE
cd output/be sh bin/start_be.sh --daemon
mysql-client connect
mysql -h 127.0.0.1 -P 9030 -u root