103 lines
2.7 KiB
Markdown
103 lines
2.7 KiB
Markdown
<!--
|
|
Licensed to the Apache Software Foundation (ASF) under one
|
|
or more contributor license agreements. See the NOTICE file
|
|
distributed with this work for additional information
|
|
regarding copyright ownership. The ASF licenses this file
|
|
to you under the Apache License, Version 2.0 (the
|
|
"License"); you may not use this file except in compliance
|
|
with the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing,
|
|
software distributed under the License is distributed on an
|
|
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
KIND, either express or implied. See the License for the
|
|
specific language governing permissions and limitations
|
|
under the License.
|
|
-->
|
|
|
|
## Doris Develop Environment based on docker
|
|
|
|
### Preparation
|
|
|
|
1. Download the Doris code repo
|
|
|
|
```console
|
|
$ cd /to/your/workspace/
|
|
$ git clone https://github.com/apache/doris.git
|
|
$ cd doris
|
|
$ git submodule update --init --recursive
|
|
```
|
|
|
|
You can remove the `.git` dir in `doris/` to make the dir size smaller.
|
|
So that the following generated docker image can be smaller.
|
|
|
|
2. Copy Dockerfile
|
|
|
|
```console
|
|
$ cd /to/your/workspace/
|
|
$ cp doris/docker/Dockerfile ./
|
|
```
|
|
|
|
After preparation, your workspace should like this:
|
|
|
|
```
|
|
.
|
|
├── Dockerfile
|
|
├── doris
|
|
│ ├── be
|
|
│ ├── bin
|
|
│ ├── build.sh
|
|
│ ├── conf
|
|
│ ├── DISCLAIMER-WIP
|
|
│ ├── docker
|
|
│ ├── docs
|
|
│ ├── env.sh
|
|
│ ├── fe
|
|
│ ├── ...
|
|
```
|
|
|
|
### Build docker image
|
|
|
|
```console
|
|
$ cd /to/your/workspace/
|
|
$ docker build -t doris:v1.0 .
|
|
```
|
|
|
|
> `doris` is docker image repository name and `v1.0` is tag name, you can change them to whatever you like.
|
|
|
|
### Use docker image
|
|
|
|
This docker image you just built does not contain Doris source code repo. You need
|
|
to download it first and map it to the container. (You can just use the one you
|
|
used to build this image before)
|
|
|
|
```console
|
|
$ docker run -it -v /your/local/path/doris/:/root/doris/ doris:v1.0
|
|
$ docker run -it -v /your/local/.m2:/root/.m2 -v /your/local/doris-DORIS-x.x.x-release/:/root/doris-DORIS-x.x.x-release/ doris:v1.0
|
|
```
|
|
|
|
Then you can build source code inside the container.
|
|
|
|
```console
|
|
$ cd /root/doris/
|
|
$ sh build.sh
|
|
```
|
|
|
|
**NOTICE**
|
|
|
|
The default JDK version is openjdk 11, if you want to use openjdk 8, you can run the command:
|
|
|
|
```console
|
|
$ alternatives --set java java-1.8.0-openjdk.x86_64
|
|
$ alternatives --set javac java-1.8.0-openjdk.x86_64
|
|
$ export JAVA_HOME=/usr/lib/jvm/java-1.8.0
|
|
```
|
|
|
|
The version of jdk you used to run FE must be the same version you used to compile FE.
|
|
|
|
### Latest update time
|
|
|
|
2022-1-23
|