--- { "title": "Doris Docker 快速搭建开发环境", "language": "zh-CN" } --- # Doris Docker 快速搭建开发环境 ## 相关详细文档导航 - [使用 Docker 开发镜像编译](/docs/install/source-install/compilation) - [部署](/docs/install/install-deploy) - [VSCode Be 开发调试](./be-vscode-dev.md) ## 环境准备 - 安装 Docker - VSCode - Remote 插件 ## 构建镜像 创建 dockerfile VSCode 中使用 Ctrl-d 替换掉所有的 - - - - - ```dockerfile FROM apache/incubator-doris:build-env-latest USER root WORKDIR /root RUN echo '' | 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 # 更安全的使用,创建用户而不是使用 root RUN yum install -y sudo \ && useradd -ms /bin/bash && echo | passwd --stdin \ && usermod -a -G wheel USER WORKDIR /home/ RUN git config --global color.ui true \ && git config --global user.email "" \ && git config --global user.name "" # 按需安装 zsh and oh my zsh, 更易于使用,不需要的移除 USER root RUN yum install -y zsh \ && chsh -s /bin/zsh 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 ``` 运行构建命令 ```bash docker build -t doris . ``` 运行镜像 此处按需注意 [挂载的问题](../../docs/install/source-install/compilation-general.md) > 见链接中:建议以挂载本地 Doris 源码目录的方式运行镜像 ..... 由于如果是使用 windows 开发,挂载会存在跨文件系统访问的问题,请自行斟酌设置。 `--cap-add SYS_PTRACE`参数可以允许docker使用ptrace,便于我们使用ptrace和gdb远程调试功能。 ```bash docker run -it --cap-add SYS_PTRACE doris:latest /bin/bash ``` 如果选择安装了 zsh 运行 容器后,在 ~/.zshrc 替换 plugins 为 ``` plugins=(git zsh-autosuggestions zsh-syntax-highlighting) ``` 创建目录并下载 doris ```bash su mkdir code && cd code git clone https://github.com/apache/doris.git cd doris git submodule update --init --recursive ``` ## 编译 注意: 第一次编译的时候要使用如下命令 ```bash sh build.sh --clean --be --fe --ui ``` 这是因为 build-env-for-0.15.0 版本镜像升级了 thrift(0.9 -> 0.13),需要通过 --clean 命令强制使用新版本的 thrift 生成代码文件,否则会出现不兼容的代码。: 编译 Doris ```bash sh build.sh ``` ## 运行 手动创建 `meta_dir` 元数据存放位置, 默认值为 `${DORIS_HOME}/doris-meta` ```bash mkdir meta_dir ``` 启动FE ```bash cd output/fe sh bin/start_fe.sh --daemon ``` 启动BE ```bash cd output/be sh bin/start_be.sh --daemon ``` mysql-client 连接 ```bash mysql -h 127.0.0.1 -P 9030 -u root ```