> For the complete documentation index, see [llms.txt](https://easonwang.gitbook.io/web_advance/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://easonwang.gitbook.io/web_advance/java/shi-yong-gradle-jie-he-docker.md).

# 使用gradle結合docker

## 安裝

安裝Gradle

<https://gradle.org/install/>

安裝Docker

<https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04>

下載範例專案

```
git clone https://github.com/codedata/JavaTutorial/tree/master/exercises/exercise10/BasicWeb
cd /JavaTutorial/exercises/exercise10/BasicWeb
```

## 打包成war

在build.gradle同層路徑輸入 :

```
gradle tomcatRunWar
```

## 把war檔放入Docker執行

<http://codeomitted.com/deploy-war-file-to-docker-image/>

新增檔案名為 : Dockerfile

```
# Pull base image
From tomcat:8-jre8

# Maintainer
MAINTAINER "xxx <xxx@gmail.com">

# Copy to images tomcat path
ADD BasicWeb.war /usr/local/tomcat/webapps/
```

然後build

```
docker build -t webserver .
```

執行

```
docker run -it --rm -p 8080:8080 --name dockerwar webserver
```
