├── 6.10.0.104 ├── Dockerfile └── slim │ └── Dockerfile ├── 6.12.0.182 ├── Dockerfile └── slim │ └── Dockerfile ├── CODE-OF-CONDUCT.md ├── README-short.txt ├── README.md ├── generate-stackbrew-library.sh └── logo.png /6.10.0.104/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM mono:6.10.0.104-slim 2 | 3 | # MAINTAINER Jo Shields 4 | # MAINTAINER Alexander Köplinger 5 | 6 | RUN apt-get update \ 7 | && apt-get install -y binutils curl mono-devel ca-certificates-mono fsharp mono-vbnc nuget referenceassemblies-pcl \ 8 | && rm -rf /var/lib/apt/lists/* /tmp/* 9 | -------------------------------------------------------------------------------- /6.10.0.104/slim/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:buster-slim 2 | 3 | # MAINTAINER Jo Shields 4 | # MAINTAINER Alexander Köplinger 5 | 6 | ENV MONO_VERSION 6.10.0.104 7 | 8 | RUN apt-get update \ 9 | && apt-get install -y --no-install-recommends gnupg dirmngr ca-certificates \ 10 | && rm -rf /var/lib/apt/lists/* \ 11 | && export GNUPGHOME="$(mktemp -d)" \ 12 | && gpg --batch --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF \ 13 | && gpg --batch --export --armor 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF > /etc/apt/trusted.gpg.d/mono.gpg.asc \ 14 | && gpgconf --kill all \ 15 | && rm -rf "$GNUPGHOME" \ 16 | && apt-key list | grep Xamarin \ 17 | && apt-get purge -y --auto-remove gnupg dirmngr 18 | 19 | RUN echo "deb https://download.mono-project.com/repo/debian stable-buster/snapshots/$MONO_VERSION main" > /etc/apt/sources.list.d/mono-official-stable.list \ 20 | && apt-get update \ 21 | && apt-get install -y mono-runtime \ 22 | && rm -rf /var/lib/apt/lists/* /tmp/* 23 | -------------------------------------------------------------------------------- /6.12.0.182/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM mono:6.12.0.182-slim 2 | 3 | # MAINTAINER Jo Shields 4 | # MAINTAINER Alexander Köplinger 5 | 6 | RUN apt-get update \ 7 | && apt-get install -y binutils curl mono-devel ca-certificates-mono fsharp mono-vbnc nuget referenceassemblies-pcl \ 8 | && rm -rf /var/lib/apt/lists/* /tmp/* 9 | -------------------------------------------------------------------------------- /6.12.0.182/slim/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:buster-slim 2 | 3 | # MAINTAINER Jo Shields 4 | # MAINTAINER Alexander Köplinger 5 | 6 | ENV MONO_VERSION 6.12.0.182 7 | 8 | RUN apt-get update \ 9 | && apt-get install -y --no-install-recommends gnupg dirmngr ca-certificates \ 10 | && rm -rf /var/lib/apt/lists/* \ 11 | && export GNUPGHOME="$(mktemp -d)" \ 12 | && gpg --batch --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF \ 13 | && gpg --batch --export --armor 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF > /etc/apt/trusted.gpg.d/mono.gpg.asc \ 14 | && gpgconf --kill all \ 15 | && rm -rf "$GNUPGHOME" \ 16 | && apt-key list | grep Xamarin \ 17 | && apt-get purge -y --auto-remove gnupg dirmngr 18 | 19 | RUN echo "deb https://download.mono-project.com/repo/debian stable-buster/snapshots/$MONO_VERSION main" > /etc/apt/sources.list.d/mono-official-stable.list \ 20 | && apt-get update \ 21 | && apt-get install -y mono-runtime \ 22 | && rm -rf /var/lib/apt/lists/* /tmp/* 23 | -------------------------------------------------------------------------------- /CODE-OF-CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Code of Conduct 2 | 3 | This project has adopted the code of conduct defined by the Contributor Covenant 4 | to clarify expected behavior in our community. 5 | 6 | For more information, see the [.NET Foundation Code of Conduct](https://dotnetfoundation.org/code-of-conduct). 7 | -------------------------------------------------------------------------------- /README-short.txt: -------------------------------------------------------------------------------- 1 | Mono is an open source implementation of Microsoft's .NET Framework based on the ECMA standards for C# and the Common Language Runtime. 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Mono Docker image 2 | 3 | This image provides Docker releases of the [Mono Project](http://www.mono-project.com/). 4 | 5 | > [!IMPORTANT] 6 | > This image is deprecated and won't receive updates anymore, see https://github.com/mono/mono/issues/21796 7 | 8 | ## Supported tags and versions 9 | 10 | We push every Mono release to Docker Hub. The latest version, one minor version before that and the last version 11 | before a major version bump are periodically rebuilt by Docker Hub to pull in updates from 12 | the base Debian image. 13 | 14 | All other version tags are still available, but won't get those updates 15 | so you need to keep your images up to date by running `apt-get update` yourself. We encourage you to move 16 | to latest Mono releases as soon as they're available. 17 | 18 | Starting with Mono 5.2 we provide a `slim` variant which only contains the bare minimum to run a simple console app. You can use this as a base and add just what you need. 19 | 20 | ## How to use this image 21 | 22 | This image can be used to run stand-alone Mono console apps or build your projects in a container. 23 | 24 | ``` 25 | FROM mono:latest 26 | 27 | RUN mono --version 28 | RUN msbuild MySolution.sln 29 | RUN mono MyConsoleApp.exe 30 | ``` 31 | 32 | ## Credits 33 | 34 | This Docker image is provided by Xamarin/Microsoft, for users of the Mono Project. 35 | 36 | Thanks to [Michael Friis](http://friism.com/) for his preliminary work. 37 | 38 | ## Issues 39 | 40 | Please report issues on the [GitHub project](https://github.com/mono/docker/issues). 41 | 42 | ## License 43 | 44 | This Docker Image is licensed with the Expat License. See the [Mono Project licensing FAQ](http://www.mono-project.com/docs/faq/licensing/) for details on how Mono and associated libraries are licensed. 45 | -------------------------------------------------------------------------------- /generate-stackbrew-library.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | # we want the current latest version, one minor version before that 5 | # and the last version before a major version bump 6 | aliases=( 7 | 'latest -> 6.12.0.182' 8 | '6.12.0 -> 6.12.0.182' 9 | '6.12 -> 6.12.0.182' 10 | '6.10.0 -> 6.10.0.104' 11 | '6.10 -> 6.10.0.104' 12 | '6.8.0 -> 6.8.0.123' 13 | '6.8 -> 6.8.0.123' 14 | '6.6.0 -> 6.6.0.161' 15 | '6.6 -> 6.6.0.161' 16 | '6.4.0 -> 6.4.0.198' 17 | '6.4 -> 6.4.0.198' 18 | '6 -> 6.12.0.182' 19 | '5.20.1 -> 5.20.1.34' 20 | '5.20 -> 5.20.1.34' 21 | '5.18.1 -> 5.18.1.28' 22 | '5.18 -> 5.18.1.28' 23 | '5 -> 5.20.1.34' 24 | ) 25 | 26 | cd "$(dirname "${BASH_SOURCE[0]}")" 27 | 28 | versions=( $( ls -d */ | sort -r)) 29 | versions=( "${versions[@]%/}" ) 30 | 31 | echo '# this file is generated via https://github.com/mono/docker/blob/main/generate-stackbrew-library.sh' 32 | echo 33 | echo 'Maintainers: Jo Shields (@directhex),' 34 | echo ' Alexander Köplinger (@akoeplinger)' 35 | echo 'GitRepo: https://github.com/mono/docker.git' 36 | 37 | for version in "${versions[@]}"; do 38 | 39 | variants=('') 40 | if [ -d $version/slim ]; then 41 | variants+=('-slim') 42 | fi 43 | 44 | for variant in "${variants[@]}"; do 45 | commit="$(git log -1 --format='format:%H' -- "$version${variant/-//}")" 46 | versionAliases=( $version ) 47 | 48 | for index in "${aliases[@]}"; do 49 | if [[ "${index##* -> }" == "$version" ]]; then 50 | versionAliases+=(${index%% *-> *}) 51 | fi 52 | done 53 | 54 | tags="" 55 | for alias in "${versionAliases[@]}"; do 56 | if [[ "$alias" == "latest" ]] && [[ "$variant" == "-slim" ]]; then # latest-slim should just be slim 57 | tags="${tags}slim" 58 | else 59 | tags="${tags}${alias}${variant}" 60 | fi 61 | tags="${tags}, " 62 | done 63 | tags="${tags%, }" 64 | 65 | architectures="amd64, i386, arm32v7, arm32v5, arm64v8, ppc64le" 66 | 67 | echo 68 | echo "Tags: $tags" 69 | echo "Architectures: $architectures" 70 | echo "GitFetch: refs/heads/main" 71 | echo "GitCommit: ${commit}" 72 | echo "Directory: $version${variant/-//}" 73 | done 74 | 75 | done 76 | -------------------------------------------------------------------------------- /logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/docker/6307e285d820c31c239919c7f926471880578f7b/logo.png --------------------------------------------------------------------------------