Skip to content

Instantly share code, notes, and snippets.

@aic25
Created September 3, 2018 06:01
Show Gist options
  • Save aic25/9ac2bd9e1fab64708ffcf827a1ddf188 to your computer and use it in GitHub Desktop.
Save aic25/9ac2bd9e1fab64708ffcf827a1ddf188 to your computer and use it in GitHub Desktop.
Modified to use jupyter lab
# Copyright 2018 The TensorFlow Authors. All Rights Reserved.
#
# Licensed 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.
# ============================================================================
#
# THIS IS A GENERATED DOCKERFILE.
#
# This file was assembled from multiple pieces, whose use is documented
# below. Please refer to the the TensorFlow dockerfiles documentation for
# more information. Build args are documented as their default value.
#
# Ubuntu-based, Nvidia-GPU-enabled environment for using TensorFlow, with Jupyter included.
#
# NVIDIA with CUDA and CuDNN, no dev stuff
# --build-arg UBUNTU_VERSION=16.04
# ( no description )
#
# Python is required for TensorFlow and other libraries.
# --build-arg USE_PYTHON_3_NOT_2=True
# Install python 3 over Python 2
#
# Install the TensorFlow Python package.
# --build-arg TF_PACKAGE=tensorflow-gpu (tensorflow|tensorflow-gpu|tf-nightly|tf-nightly-gpu)
# The specific TensorFlow Python package to install
#
# Configure TensorFlow's shell prompt and login tools.
#
# Launch Jupyter on execution instead of a bash prompt.
FROM nvidia/cuda:9.0-base-ubuntu16.04
# Pick up some TF dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
cuda-command-line-tools-9-0 \
cuda-cublas-9-0 \
cuda-cufft-9-0 \
cuda-curand-9-0 \
cuda-cusolver-9-0 \
cuda-cusparse-9-0 \
libcudnn7=7.1.4.18-1+cuda9.0 \
libnccl2=2.2.13-1+cuda9.0 \
libfreetype6-dev \
libhdf5-serial-dev \
libpng12-dev \
libzmq3-dev \
pkg-config \
apt-utils \
wget \
software-properties-common \
unzip \
&& \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
RUN apt-get update && apt-get install -y \
git-core \
tree
RUN apt-get install --yes curl
RUN curl --silent --location https://deb.nodesource.com/setup_6.x | bash -
RUN apt-get install --yes nodejs
RUN apt-get install --yes build-essential
ARG USE_PYTHON_3_NOT_2=True
ARG _PY_SUFFIX=${USE_PYTHON_3_NOT_2:+3}
ARG PYTHON=python${_PY_SUFFIX}
ARG PIP=pip${_PY_SUFFIX}
RUN apt-get update && apt-get install -y \
${PYTHON} \
${PYTHON}-pip \
python3-tk
RUN ${PIP} install --upgrade \
pip \
setuptools
RUN apt-get update && apt-get install -y \
python-pydot \
python-pydot-ng \
graphviz
ARG TF_PACKAGE=tensorflow-gpu
RUN ${PIP} install ${TF_PACKAGE}
COPY bashrc /etc/bash.bashrc
RUN chmod a+rwx /etc/bash.bashrc
RUN ${PIP} install \
jupyter \
jupyterlab \
gputil \
seaborn \
xlrd \
bokeh
RUN ${PIP} install --no-deps \
saliency
RUN ${PIP} install --pre ipywidgets
RUN jupyter labextension install @jupyter-widgets/jupyterlab-manager
RUN jupyter labextension install jupyterlab_bokeh
RUN jupyter lab clean && jupyter lab build
RUN mkdir /work_dir && chmod a+rwx /work_dir
RUN mkdir /.local && chmod a+rwx /.local
COPY work_dir/script/__pycache__/* /work_dir/script/
COPY work_dir/columns.xlsx /work_dir/columns.xlsx
WORKDIR /work_dir
EXPOSE 9875
CMD ["bash", "-c", "source /etc/bash.bashrc && jupyter lab --notebook-dir=/work_dir --ip 0.0.0.0 --no-browser --allow-root --port=9875"]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment