diff --git a/docker/gitlab-runner/Dockerfile b/docker/gitlab-runner/Dockerfile index b24522ff821092b387eccf6e9829dc84f097d579..2f4c3c6e857e9a924c67a8b4c3a9b5cf7a963c02 100644 --- a/docker/gitlab-runner/Dockerfile +++ b/docker/gitlab-runner/Dockerfile @@ -1,4 +1,4 @@ -FROM xiaomimace/mace-dev:latest +FROM registry.cn-hangzhou.aliyuncs.com/xiaomimace/mace-dev:latest # Update source RUN apt-get update -y diff --git a/docker/Dockerfile b/docker/mace-dev-lite/Dockerfile similarity index 50% rename from docker/Dockerfile rename to docker/mace-dev-lite/Dockerfile index 4dd6a9521d21c3fdb449d3918ef9905318bb8eb9..0b6986bc88091ae65fe4fd204c394e2539f85cd0 100644 --- a/docker/Dockerfile +++ b/docker/mace-dev-lite/Dockerfile @@ -1,11 +1,13 @@ FROM ubuntu:16.04 +WORKDIR / + # Update source RUN apt-get update -y -## Basic tools -RUN apt-get install -y --no-install-recommends apt-utils +# Basic tools RUN apt-get install -y --no-install-recommends \ + apt-utils \ build-essential \ cmake \ curl \ @@ -32,11 +34,15 @@ RUN apt-get install -y --no-install-recommends \ bsdmainutils RUN pip install --upgrade pip -# Upgrade CMake -RUN wget https://cmake.org/files/v3.11/cmake-3.11.3-Linux-x86_64.tar.gz -P /tmp/ && \ - tar zxf /tmp/cmake-3.11.3-Linux-x86_64.tar.gz --strip-components=1 -C /usr/local/ && \ - update-alternatives --install /usr/bin/cmake cmake /usr/local/bin/cmake 1 --force && \ - rm -f /tmp/cmake-3.11.3-Linux-x86_64.tar.gz +# Setup vim +RUN apt-get install -y --no-install-recommends \ + locales \ + vim + +RUN locale-gen en_US.UTF-8 +ENV LC_CTYPE=en_US.UTF-8 +ENV LC_ALL=en_US.UTF-8 +ENV TERM xterm-256color # Set up Bazel. # Running bazel inside a `docker build` command causes trouble, cf: @@ -49,63 +55,21 @@ RUN echo "build --spawn_strategy=standalone --genrule_strategy=standalone" \ >>/etc/bazel.bazelrc # Install the most recent bazel release. ENV BAZEL_VERSION 0.13.1 -WORKDIR / -RUN mkdir /bazel && \ - cd /bazel && \ +RUN mkdir /tmp/bazel && \ + cd /tmp/bazel && \ wget https://github.com/bazelbuild/bazel/releases/download/$BAZEL_VERSION/bazel-$BAZEL_VERSION-installer-linux-x86_64.sh && \ chmod +x bazel-*.sh && \ ./bazel-$BAZEL_VERSION-installer-linux-x86_64.sh && \ cd / && \ - rm -f /bazel/bazel-$BAZEL_VERSION-installer-linux-x86_64.sh + rm -rf /tmp/bazel -# Setup vim -RUN apt-get update -y -RUN apt-get install -y --no-install-recommends \ - locales \ - vim - -RUN mkdir -p ~/.vim/autoload ~/.vim/bundle && \ - curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim - -RUN mkdir -p ~/.vim/bundle -RUN cd ~/.vim/bundle && \ - git clone https://github.com/scrooloose/nerdtree.git && \ - git clone https://github.com/vim-syntastic/syntastic.git && \ - git clone https://github.com/vim-airline/vim-airline.git && \ - git clone https://github.com/altercation/vim-colors-solarized.git && \ - git clone https://github.com/bazelbuild/vim-ft-bzl.git && \ - git clone https://github.com/google/vim-maktaba.git && \ - git clone https://github.com/google/vim-codefmt.git - -RUN curl -LSso ~/.vimrc https://gist.githubusercontent.com/llhe/71c5802919debd5825c100c0135478a7/raw/16a35020cc65f9c25d0cf8f11a3ba7b345a1271d/.vimrc - -RUN locale-gen en_US.UTF-8 -ENV LC_CTYPE=en_US.UTF-8 -ENV LC_ALL=en_US.UTF-8 -ENV TERM xterm-256color - -# Extra packges -RUN apt-get install -y --no-install-recommends \ - telnet \ - net-tools \ - inetutils-ping \ - screen \ - android-tools-adb \ - htop - -# Download NDK in different versions +# Download NDK RUN cd /opt/ && \ - wget -q https://dl.google.com/android/repository/android-ndk-r12b-linux-x86_64.zip && \ - unzip -q android-ndk-r12b-linux-x86_64.zip && \ - rm -f android-ndk-r12b-linux-x86_64.zip && \ wget -q https://dl.google.com/android/repository/android-ndk-r15c-linux-x86_64.zip && \ unzip -q android-ndk-r15c-linux-x86_64.zip && \ - rm -f android-ndk-r15c-linux-x86_64.zip && \ - wget -q https://dl.google.com/android/repository/android-ndk-r16-linux-x86_64.zip && \ - unzip -q android-ndk-r16-linux-x86_64.zip && \ - rm -f android-ndk-r16-linux-x86_64.zip + rm -f android-ndk-r15c-linux-x86_64.zip -ENV ANDROID_NDK_VERSION r12b +ENV ANDROID_NDK_VERSION r15c ENV ANDROID_NDK /opt/android-ndk-${ANDROID_NDK_VERSION} ENV ANDROID_NDK_HOME ${ANDROID_NDK} @@ -113,16 +77,15 @@ ENV ANDROID_NDK_HOME ${ANDROID_NDK} ENV PATH ${PATH}:${ANDROID_NDK_HOME} # Install tools +RUN apt-get install -y --no-install-recommends \ + android-tools-adb RUN pip install -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com setuptools -RUN pip install -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com tensorflow==1.8.0 \ - numpy>=1.14.0 \ +RUN pip install -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com \ + tensorflow==1.8.0 \ + "numpy>=1.14.0" \ scipy \ jinja2 \ pyyaml \ sh==1.12.14 \ pycodestyle==2.4.0 \ - filelock \ - sphinx \ - sphinx-autobuild \ - sphinx_rtd_theme \ - recommonmark + filelock diff --git a/docker/mace-dev/Dockerfile b/docker/mace-dev/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..b3e5bf95fb7a5d4c30beb215f3e3382802aff182 --- /dev/null +++ b/docker/mace-dev/Dockerfile @@ -0,0 +1,46 @@ +FROM registry.cn-hangzhou.aliyuncs.com/xiaomimace/mace-dev-lite:latest + +# Install tools +RUN apt-get install -y --no-install-recommends \ + telnet \ + net-tools \ + inetutils-ping \ + screen \ + htop +RUN pip install -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com \ + sphinx \ + sphinx-autobuild \ + sphinx_rtd_theme \ + recommonmark + +# Customize vim +RUN mkdir -p ~/.vim/autoload ~/.vim/bundle && \ + curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim +RUN mkdir -p ~/.vim/bundle +RUN cd ~/.vim/bundle && \ + git clone https://github.com/scrooloose/nerdtree.git && \ + git clone https://github.com/vim-syntastic/syntastic.git && \ + git clone https://github.com/vim-airline/vim-airline.git && \ + git clone https://github.com/altercation/vim-colors-solarized.git && \ + git clone https://github.com/bazelbuild/vim-ft-bzl.git && \ + git clone https://github.com/google/vim-maktaba.git && \ + git clone https://github.com/google/vim-codefmt.git +RUN curl -LSso ~/.vimrc https://gist.githubusercontent.com/llhe/71c5802919debd5825c100c0135478a7/raw/16a35020cc65f9c25d0cf8f11a3ba7b345a1271d/.vimrc + +# Upgrade CMake +RUN wget https://cmake.org/files/v3.11/cmake-3.11.3-Linux-x86_64.tar.gz -P /tmp/ && \ + tar zxf /tmp/cmake-3.11.3-Linux-x86_64.tar.gz --strip-components=1 -C /usr/local/ && \ + update-alternatives --install /usr/bin/cmake cmake /usr/local/bin/cmake 1 --force && \ + rm -f /tmp/cmake-3.11.3-Linux-x86_64.tar.gz + +# mace-dev-lite image already included NDK r15c +## Download other NDK r12b +RUN cd /opt/ && \ + wget -q https://dl.google.com/android/repository/android-ndk-r12b-linux-x86_64.zip && \ + unzip -q android-ndk-r12b-linux-x86_64.zip && \ + rm -f android-ndk-r12b-linux-x86_64.zip +## Download other NDK r16 +RUN cd /opt/ && \ + wget -q https://dl.google.com/android/repository/android-ndk-r16-linux-x86_64.zip && \ + unzip -q android-ndk-r16-linux-x86_64.zip && \ + rm -f android-ndk-r16-linux-x86_64.zip diff --git a/docs/getting_started/how_to_build.rst b/docs/getting_started/how_to_build.rst index 5916312835332266ea14f31c7d73edd57d2dffd9..3bb6e2b9f6f34df2848feaa47b09189b26e471d8 100644 --- a/docs/getting_started/how_to_build.rst +++ b/docs/getting_started/how_to_build.rst @@ -72,14 +72,13 @@ you can build the image from it, .. code:: sh - cd docker - docker build -t xiaomimace/mace-dev + docker build -t registry.cn-hangzhou.aliyuncs.com/xiaomimace/mace-dev-lite ./docker/mace-dev-lite or pull the pre-built image from Docker Hub, .. code:: sh - docker pull xiaomimace/mace-dev + docker pull registry.cn-hangzhou.aliyuncs.com/xiaomimace/mace-dev-lite and then run the container with the following command. @@ -87,8 +86,10 @@ and then run the container with the following command. # Create container # Set 'host' network to use ADB - docker run -it --rm --privileged -v /dev/bus/usb:/dev/bus/usb --net=host \ - -v /local/path:/container/path xiaomimace/mace-dev /bin/bash + docker run -it --privileged -v /dev/bus/usb:/dev/bus/usb --net=host \ + -v /local/path:/container/path \ + registry.cn-hangzhou.aliyuncs.com/xiaomimace/mace-dev-lite \ + /bin/bash Usage