{"id":19485399,"url":"https://github.com/philippgille/docker-dotnet-libglib","last_synced_at":"2026-05-05T10:36:33.032Z","repository":{"id":91058618,"uuid":"105401905","full_name":"philippgille/docker-dotnet-libglib","owner":"philippgille","description":"Docker image for building .NET Core applications including libglib2.0-0 for building executable AppImage packages","archived":false,"fork":false,"pushed_at":"2017-11-29T18:34:15.000Z","size":16,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-08T07:47:42.006Z","etag":null,"topics":["appimage","docker","docker-image","dotnet","dotnet-core","dotnetcore"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/philippgille.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-09-30T21:26:45.000Z","updated_at":"2017-09-30T23:35:47.000Z","dependencies_parsed_at":null,"dependency_job_id":"950c3b19-5e92-4f03-946f-be94ac97d0bd","html_url":"https://github.com/philippgille/docker-dotnet-libglib","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philippgille%2Fdocker-dotnet-libglib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philippgille%2Fdocker-dotnet-libglib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philippgille%2Fdocker-dotnet-libglib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philippgille%2Fdocker-dotnet-libglib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/philippgille","download_url":"https://codeload.github.com/philippgille/docker-dotnet-libglib/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240722048,"owners_count":19847035,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["appimage","docker","docker-image","dotnet","dotnet-core","dotnetcore"],"created_at":"2024-11-10T20:27:37.171Z","updated_at":"2026-05-05T10:36:33.000Z","avatar_url":"https://github.com/philippgille.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"**.NET Core SDK** Docker image with **libglib2.0-0**\n====================================================\n\nDocker image for building .NET Core applications including libglib2.0-0 for building executable [AppImage](https://appimage.org/) packages.\n\nSupported tags and respective `Dockerfile` links\n------------------------------------------------\n\n- [`1.1.5-sdk-jessie`, `1.1.5-sdk`, `1.1-sdk`, `1-sdk` (1.1/jessie/Dockerfile)](https://github.com/philippgille/docker-dotnet-libglib/blob/master/1.1/jessie/Dockerfile)\n- [`2.0.3-sdk-stretch`, `2.0-sdk-stretch`, `2.0.3-sdk`, `2.0-sdk`, `2-sdk`, `sdk`, `latest` (2.0/stretch/amd64/Dockerfile)](https://github.com/philippgille/docker-dotnet-libglib/blob/master/2.0/stretch/amd64/Dockerfile)\n- [`2.0.3-sdk-jessie`, `2.0-sdk-jessie`, `2-sdk-jessie` (2.0/jessie/amd64/Dockerfile)](https://github.com/philippgille/docker-dotnet-libglib/blob/master/2.0/jessie/amd64/Dockerfile)\n- [`2.1.0-preview1-sdk-stretch`, `2.1-sdk-stretch`, `2.1.0-preview1-sdk`, `2.1-sdk` (2.1/stretch/amd64/Dockerfile)](https://github.com/philippgille/docker-dotnet-libglib/blob/master/2.1/stretch/amd64/Dockerfile)\n- [`2.1.0-preview1-sdk-jessie`, `2.1-sdk-jessie`, (2.1/jessie/amd64/Dockerfile)](https://github.com/philippgille/docker-dotnet-libglib/blob/master/2.1/jessie/amd64/Dockerfile)\n\n\u003e Note: The `2.1` images are preview versions based on the [`microsoft/dotnet-nightly`](https://hub.docker.com/r/microsoft/dotnet-nightly/) images, so don't use them in production.\n\nUsage\n-----\n\nAssuming you have a build script that builds the .NET Core app as well as the AppImage:\n\n```bash\ndocker run --rm \\\n    -v /path/to/source/:/app \\\n    -w /app \\\n    philippgille/dotnet-libglib:2.0-sdk \\\n    bash -c \"./build.sh\"\n```\n\n\u003e Note: In the build script you can't just run the `appimagetool-x86_64.AppImage` to create your own AppImage. Instead, you need to extract that AppImage first and then you can run the `AppRun` executable to build your own AppImage. See the below *Details* section for more information.\n\nDetails\n-------\n\nWhen you build your .NET Core applications in a Docker container and also want to create executable AppImage packages for Linux, you need to install *libglib2.0-0* in your container. The reason for this is that AppImages require *FUSE* to be installed (see [AppImage/AppImageKit/wiki/FUSE](https://github.com/AppImage/AppImageKit/wiki/FUSE)), but FUSE doesn't work in Docker containers, so you can't just run the `appimagetool-x86_64.AppImage`. Instead, you need to extract the AppImage with `appimagetool-x86_64.AppImage --appimage-extract` and then you can run `./squashfs-root/AppRun /path/to/your/AppDir/ /path/to/your/app.AppImage`. *This extraction* is what requires libglib2.0-0. Now, if your build container is ephemeral (`--rm`), you have to install libglib2.0-0 *each time* you create a new container.\n\nFor example, in one of my other repositories I had a build script called `build-with-docker.sh`. Its content was:\n\n```bash\n#!/bin/bash\n\nset -euxo pipefail\n\nSCRIPTDIR=\"$( cd \"$( dirname \"${BASH_SOURCE[0]}\" )\" \u0026\u0026 pwd )\"\n\ndocker run --rm \\\n    -v $SCRIPTDIR/../:/app \\\n    -w /app \\\n    microsoft/dotnet:2.0-sdk \\\n    bash -c \"apt update \u0026\u0026 apt install -y --no-install-recommends libglib2.0-0 \u0026\u0026 ./scripts/build.sh\"\n```\n\nEach time I ran `build-with-docker.sh`, the `apt update` and `apt install` commands took a lot of time and lead to unnecessary data traffic.\n\nThat's why I built this Docker image, where libglib2.0-0 is **already installed**. Nothing else gets installed, so it's the original [microsoft/dotnet](https://hub.docker.com/r/microsoft/dotnet/) .NET Core SDK images, just with an added libglib2.0-0.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphilippgille%2Fdocker-dotnet-libglib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphilippgille%2Fdocker-dotnet-libglib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphilippgille%2Fdocker-dotnet-libglib/lists"}