39 lines
1.3 KiB
Docker
39 lines
1.3 KiB
Docker
FROM ubuntu:14.04
|
|
|
|
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
|
|
RUN echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
|
|
|
|
ENV DNX_USER_HOME /opt/dnx
|
|
|
|
RUN apt-get -qq update && apt-get -qqy install curl unzip mono-complete
|
|
|
|
RUN curl -sSL https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.sh | DNX_USER_HOME=$DNX_USER_HOME DNX_BRANCH=v$DNX_VERSION sh
|
|
RUN bash -c "source $DNX_USER_HOME/dnvm/dnvm.sh \
|
|
&& dnvm upgrade -u \
|
|
&& dnvm alias default | xargs -i ln -s $DNX_USER_HOME/runtimes/{} $DNX_USER_HOME/runtimes/default"
|
|
|
|
# Install libuv for Kestrel from source code (binary is not in wheezy and one in jessie is still too old)
|
|
RUN apt-get -qqy install \
|
|
autoconf \
|
|
automake \
|
|
build-essential \
|
|
libtool
|
|
|
|
RUN LIBUV_VERSION=1.4.2 \
|
|
&& curl -sSL https://github.com/libuv/libuv/archive/v${LIBUV_VERSION}.tar.gz | tar zxfv - -C /usr/local/src \
|
|
&& cd /usr/local/src/libuv-$LIBUV_VERSION \
|
|
&& sh autogen.sh && ./configure && make && make install \
|
|
&& rm -rf /usr/local/src/libuv-$LIBUV_VERSION \
|
|
&& ldconfig
|
|
|
|
ENV PATH $PATH:$DNX_USER_HOME/runtimes/default/bin
|
|
|
|
ENV MONO_THREADS_PER_CPU 20
|
|
|
|
COPY . /app
|
|
WORKDIR /app
|
|
RUN ["dnu", "restore"]
|
|
|
|
EXPOSE 5004
|
|
ENTRYPOINT ["dnx", "kestrel"]
|