Add support for Fedora 24, OpenSUSE 42.1 and Ubuntu 16.10
This commit is contained in:
parent
2f759d85f2
commit
916a19c493
10 changed files with 174 additions and 11 deletions
28
scripts/docker/fedora.24/Dockerfile
Normal file
28
scripts/docker/fedora.24/Dockerfile
Normal file
|
@ -0,0 +1,28 @@
|
|||
FROM fedora:24
|
||||
|
||||
RUN dnf install -y bash git cmake wget which python clang-3.8.0-1.fc24.x86_64 llvm-devel-3.8.0-1.fc24.x86_64 make libicu-devel lldb-devel.x86_64 \
|
||||
libunwind-devel.x86_64 lttng-ust-devel.x86_64 uuid-devel libuuid-devel tar glibc-locale-source zlib-devel libcurl-devel \
|
||||
krb5-devel openssl-devel autoconf libtool hostname
|
||||
|
||||
RUN dnf upgrade -y nss
|
||||
|
||||
RUN dnf clean all
|
||||
|
||||
# Set a different rid to publish buildtools for, until we update to a version which
|
||||
# natively supports fedora.24-x64
|
||||
ENV __PUBLISH_RID=fedora.23-x64
|
||||
|
||||
# Setup User to match Host User, and give superuser permissions
|
||||
ARG USER_ID=0
|
||||
RUN useradd -m code_executor -u ${USER_ID} -g wheel
|
||||
RUN echo 'code_executor ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
|
||||
|
||||
# With the User Change, we need to change permissions on these directories
|
||||
RUN chmod -R a+rwx /usr/local
|
||||
RUN chmod -R a+rwx /home
|
||||
|
||||
# Set user to the one we just created
|
||||
USER ${USER_ID}
|
||||
|
||||
# Set working directory
|
||||
WORKDIR /opt/code
|
50
scripts/docker/opensuse.42.1/Dockerfile
Normal file
50
scripts/docker/opensuse.42.1/Dockerfile
Normal file
|
@ -0,0 +1,50 @@
|
|||
#
|
||||
# Copyright (c) .NET Foundation and contributors. All rights reserved.
|
||||
# Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
#
|
||||
|
||||
FROM opensuse:42.1
|
||||
|
||||
# Install the base toolchain we need to build anything (clang, cmake, make and the like)
|
||||
# this does not include libraries that we need to compile different projects, we'd like
|
||||
# them in a different layer.
|
||||
RUN zypper -n install binutils \
|
||||
cmake \
|
||||
which \
|
||||
gcc \
|
||||
llvm-clang \
|
||||
tar \
|
||||
ncurses-utils \
|
||||
curl \
|
||||
git \
|
||||
sudo && \
|
||||
ln -s /usr/bin/clang++ /usr/bin/clang++-3.5 && \
|
||||
zypper clean -a
|
||||
|
||||
# Dependencies of CoreCLR and CoreFX.
|
||||
|
||||
RUN zypper -n install --force-resolution \
|
||||
libunwind \
|
||||
libicu \
|
||||
lttng-ust \
|
||||
libuuid1 \
|
||||
libopenssl1_0_0 \
|
||||
libcurl4 \
|
||||
krb5 && \
|
||||
zypper clean -a
|
||||
|
||||
# Setup User to match Host User, and give superuser permissions
|
||||
ARG USER_ID=0
|
||||
RUN useradd -m code_executor -u ${USER_ID} -g wheel
|
||||
RUN echo 'code_executor ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
|
||||
|
||||
# With the User Change, we need to change permissions on these directories
|
||||
RUN chmod -R a+rwx /usr/local
|
||||
RUN chmod -R a+rwx /home
|
||||
RUN chmod -R 755 /usr/lib/sudo
|
||||
|
||||
# Set user to the one we just created
|
||||
USER ${USER_ID}
|
||||
|
||||
# Set working directory
|
||||
WORKDIR /opt/code
|
63
scripts/docker/ubuntu.16.10/Dockerfile
Normal file
63
scripts/docker/ubuntu.16.10/Dockerfile
Normal file
|
@ -0,0 +1,63 @@
|
|||
#
|
||||
# Copyright (c) .NET Foundation and contributors. All rights reserved.
|
||||
# Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
#
|
||||
|
||||
# Dockerfile that creates a container suitable to build dotnet-cli
|
||||
FROM ubuntu:16.10
|
||||
|
||||
# Misc Dependencies for build
|
||||
RUN apt-get update && \
|
||||
apt-get -qqy install \
|
||||
curl \
|
||||
unzip \
|
||||
gettext \
|
||||
sudo && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# This could become a "microsoft/coreclr" image, since it just installs the dependencies for CoreCLR (and stdlib)
|
||||
RUN apt-get update && \
|
||||
apt-get -qqy install \
|
||||
libunwind8 \
|
||||
libkrb5-3 \
|
||||
libicu57 \
|
||||
liblttng-ust0 \
|
||||
libssl1.0.0 \
|
||||
zlib1g \
|
||||
libuuid1 \
|
||||
liblldb-3.5 && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install Build Prereqs
|
||||
RUN apt-get update && \
|
||||
apt-get -qqy install \
|
||||
debhelper \
|
||||
build-essential \
|
||||
devscripts \
|
||||
git \
|
||||
cmake \
|
||||
clang-3.5 && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Use clang as c++ compiler
|
||||
RUN update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-3.5 100
|
||||
RUN update-alternatives --set c++ /usr/bin/clang++-3.5
|
||||
|
||||
# Setup User to match Host User, and give superuser permissions
|
||||
ARG USER_ID=0
|
||||
RUN useradd -m code_executor -u ${USER_ID} -g sudo
|
||||
RUN echo 'code_executor ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
|
||||
|
||||
# With the User Change, we need to change permissions on these directories
|
||||
RUN chmod -R a+rwx /usr/local
|
||||
RUN chmod -R a+rwx /home
|
||||
RUN chmod -R 755 /usr/lib/sudo
|
||||
|
||||
# Set user to the one we just created
|
||||
USER ${USER_ID}
|
||||
|
||||
# Set working directory
|
||||
WORKDIR /opt/code
|
Loading…
Add table
Add a link
Reference in a new issue