DOCKER.md 2.1 KB
Newer Older
M
MRXLT 已提交
1
# 使用Docker编译Paddle Serving
M
MRXLT 已提交
2

M
MRXLT 已提交
3
## Docker编译环境要求
M
MRXLT 已提交
4

M
MRXLT 已提交
5
+ 开发机上已安装Docker
M
MRXLT 已提交
6 7
+ 编译GPU版本需要安装nvidia-docker

M
MRXLT 已提交
8
## CPU版本Dockerfile
M
MRXLT 已提交
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

```bash
FROM centos:centos6.10
RUN yum -y install wget \
    && wget http://people.centos.org/tru/devtools-2/devtools-2.repo -O /etc/yum.repos.d/devtoolset-2.repo \
    && yum -y install devtoolset-2-gcc devtoolset-2-gcc-c++ devtoolset-2-binutils \
    && source /opt/rh/devtoolset-2/enable \
    && echo "source /opt/rh/devtoolset-2/enable" >> /etc/profile \
    && yum -y install git openssl-devel curl-devel bzip2-devel \
    && wget https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz \
    && tar xvf cmake-3.5.2.tar.gz \
    && cd cmake-3.5.2 \
    &&  ./bootstrap --prefix=/usr \
    && make \
    && make install \
    && cd .. \
    && rm -r cmake-3.5.2* \
    && wget https://dl.google.com/go/go1.12.12.linux-amd64.tar.gz \
    && tar -xzvf go1.12.12.linux-amd64.tar.gz \
    && mv go /usr/local/go \
    && rm go1.12.12.linux-amd64.tar.gz \
    && echo "export GOROOT=/usr/local/go" >> /root/.bashrc \
    && echo "export GOPATH=$HOME/go" >> /root/.bashrc \
    && echo "export PATH=$PATH:/usr/local/go/bin" >> /root/.bashrc
```



M
MRXLT 已提交
37
##GPU版本Dockerfile
M
MRXLT 已提交
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55

```bash
FROM paddlepaddle/paddle_manylinux_devel:cuda9.0_cudnn7
RUN yum -y install git openssl-devel curl-devel bzip2-devel \
    && wget https://dl.google.com/go/go1.12.12.linux-amd64.tar.gz \
    && tar -xzvf go1.12.12.linux-amd64.tar.gz \
    && rm -rf /usr/local/go \
    && mv go /usr/local/go \
    && rm go1.12.12.linux-amd64.tar.gz \
    && echo "GOROOT=/usr/local/go" >> /root/.bashrc \
    && echo "GOPATH=$HOME/go" >> /root/.bashrc \
    && echo "PATH=$PATH:$GOROOT/bin" >> /root/.bashrc
```



## 使用方法

M
MRXLT 已提交
56
###构建Docker镜像
M
MRXLT 已提交
57

M
MRXLT 已提交
58
建立新目录,复制Dockerfile内容到目录下Dockerfile文件
M
MRXLT 已提交
59 60 61 62 63 64 65 66 67 68 69 70 71

执行

```bash
docker build -t serving_compile:cpu .
```

或者

```bash
docker build -t serving_compile:cuda9 .
```

M
MRXLT 已提交
72
## 进入Docker
M
MRXLT 已提交
73 74 75 76 77 78 79 80 81 82 83 84

CPU版本请执行

```bash
docker run -it serving_compile:cpu bash
```

GPU版本请执行

```bash
docker run -it --runtime=nvidia -it serving_compile:cuda9 bash
```