Docker¶
π Resources¶
- Docker GitHub
- wsargent/docker-cheat-sheet - Docker Cheat Sheet
- prakhar1989/docker-curriculum - π¬ A comprehensive tutorial on getting started with Docker! - docker-curriculum.com
- veggiemonk/awesome-docker - π³ A curated list of Docker resources and projects
- docker/awesome-compose - Awesome Docker Compose samples
- Pradumnasaraf/DevOps - This repo contains all my learning related to DevOps
π Articles¶
- Get to Know Docker’s Ecosystem
- Understanding How the Docker Daemon and Docker CLI Work Together
- How to build and push Docker image with GitHub actions?
- Docker Tip #73: Connecting to a Remote Docker Daemon
- How to build an optimal Docker image for your application? β
- Optimising ASP.NET Core apps in Docker - avoiding manually copying csproj files β
- Exploring the .NET Core Docker files: dotnet vs aspnetcore vs aspnetcore-build β
- Exploring the .NET Core 2.1 Docker files (updated): dotnet:runtime vs aspnetcore-runtime vs sdk β
- Building ASP.NET Core apps using Cake in Docker
- Using Docker Hub to automatically build a Docker image for ASP.NET Core apps
- DOCKER FOR .NET DEVELOPERS (PART 1)
- Dockerizing ASP.NET Core Application With Dockerfiles
- Get Started Building Microservices with ASP.NET Core and Docker in Visual Studio Code
- Optimising .NET Core Docker images
- Defining your multi-container application with docker-compose.yml
- Some useful Docker commands make your life easier
- Deploy a Docker based ASP.NET Core app to Azure
- Create first ASP.NET Core App in a Docker Container
- Multi-Container ASP.NET Core App with Docker Compose
- How Visual Studio builds containerized apps
- Creating Docker multi-arch images for ARM64 from Windows
- 6 Things To Know When Dockerizing Microsoft .NET Apps in Production
- Beginning Docker
- Docker Series
- Dockerize an ASP .NET Core Microservice and RabbitMQ
- ASP .NET Core with HTTPS in Docker
- Set up Docker-Compose for ASP .NET Core 3.1 Microservices
- Hosting ASP.NET Core images with Docker over HTTPS
- ASP.NET Core APP with HTTPS in Docker
- How to Pass Environment Variables to Docker Containers
- Step by step guide on utilising Docker Compose with Asp.Net Core, SQL Server
- CRUD Operations in ASP.NET Core and SQL Server with Docker
- Docker SQL bind: An attempt was made to access a socket in a way forbidden by its access permissions
- ASP.NET Docker Gotchas and Workarounds
- The Microsoft author signing certificate will be updated as soon as November 1st, 2020
- 5 ways to change time in Docker container
- Change TimeZone in Docker and OCI compliant Containers
- Attach to a running container
- Create a development container
- Debugging ASP.NET Core apps in a local Docker container
Rider
- Ports are not available: listen tcp 0.0.0.0/50070: bind: An attempt was made to access a socket in a way forbidden by its access permissions
- Optimising ASP.NET Core apps in Docker - avoiding manually copying csproj files
- Optimising ASP.NET Core apps in Docker - avoiding manually copying csproj files (Part 2)
- Setting Up Docker for Windows and WSL to Work Flawlessly
- Announcing built-in container support for the .NET SDK
- Linting a .NET 6 app Dockerfile using Hadolint, dockerfile_lint and Azure Pipelines
- Docker build caching for .NET applications done right with dotnet-subset
- Developing ASP.NET Core apps in Docker - Live Recompilation
- .NET 6 is now in Ubuntu 22.04
- Announcing built-in container support for the .NET SDK
- Tutorial: Containerize a .NET app
- Containerize a .NET app with dotnet publish
- .NET 7 SDK built-in container support and Ubuntu Chiseled
- Experimenting with .NET 7, WASM, and WASI on Docker
- Trying out the built-in container support for the .NET SDK
- Docker import/export vs. load/save
- Publishing Images With GitHub Actions
- Creating a generalised Docker image for building ASP.NET Core apps using ONBUILD β
- Optimizing your .NET Core Docker image size with multi-stage builds ββ
- Multi-stage builds ββ
- Docker Tutorial β Introduction & Getting Started With Docker
- Docker Build Process for .NET Applications β
- Understanding the Docker Build Context (Why You Should Use Dockerignore)
- How to Debug Dockerized .NET Core Apps in VS Code β
- Demystifying Docker: .NET 6 on Docker + Docker Debugging β
- docker
network create
β - DEBUGGING YOUR .NET CORE IN DOCKER APPLICATIONS WITH VS CODE β
- Attaching to remote processes
- How to debug a .NET Core app in Docker with VSCode ββ
- Get started with Docker remote containers on WSL 2 β
- Docker Desktop WSL 2 backend on Windows β
- How to configure Docker Desktop to work with the WSL
- Setting Up Docker for Windows and WSL to Work Flawlessly β
- How to properly override the ENTRYPOINT using docker run
- Docker RUN vs CMD vs ENTRYPOINT β
- Running a Docker container as a non-root user
- Using Docker Buildkit –mount=type=cache for caching Nuget packages for .NET 5 dockerfile
- Optimizing builds with cache management β
- Best practices for writing Dockerfiles β
- Speed up pip downloads in Docker with BuildKitβs new caching β
- How to Keep Docker Container Running for Debugging
- Running Docker Containers Indefinitely
- Removing unused intermediate docker images automatically
- Enforce HTTPS in ASP.NET Core
- Hosting ASP.NET Core images with Docker over HTTPS
- Using Docker Secrets during Development
- How to Keep Docker Secrets When Working with Sensitive Data?
- Docker and .Net β Environment variables and appsettings.json
- Hot-Reload .NET Configuration in Kubernetes with ConfigMaps β
- Secure your .NET cloud apps with rootless Linux Containers
- Testing Chiseled Ubuntu container images with .NET
- Creating a Private Local Docker Registry in 5 Minutes
- 4 Easy Steps to Set Up a Private Docker Registry on Ubuntu
- Running Artifactory 7 and Postgres using Docker Compose V2
- Deploying JFrog Container Registry within a Dockerized infrastructure
- Create a Private Docker Registry with Nexus
- Streamline your container build and publish with .NET 8
- How To Run Docker in Docker Container [3 Easy Methods]
πΉ Videos¶
- Complete Docker Course - From BEGINNER to PRO! (Learn Containers)
- Docker Crash Course for Absolute Beginners
- Deploy a .NET Core API with Docker (Step-by-Step)
- [Docker Tutorial for Beginners FULL COURSE in 3 Hours
- Docker Tutorial for Beginners - A Full DevOps Course on How to Run Applications in Containers
- How to push a container image to a Docker Repo | Azure Tips and Tricks
- Dockerize .NET 6 in 10 Minutes
- Docker networking is CRAZY!! (you NEED to learn it)
- Why you no longer need a Dockerfile in .NET 7
- Debugging .NET Core in Docker with VSCode β
π¦ Libraries¶
wagoodman/dive
- A tool for exploring each layer in a docker imagehadolint/hadolint
- Dockerfile linter, validate inline bash, written in Haskellprojectatomic/dockerfile_lint
nicolaka/netshoot
- a Docker + Kubernetes network trouble-shooting swiss-army containermariotoffia/FluentDocker
- Commands, Services and Fluent API for docker, docker-compose & docker-machine, for win/mac/linux and native docker in c#docker-slim/docker-slim
- DockerSlim (docker-slim): Don’t change anything in your Docker container image and minify it by up to 30x (and for compiled languages even more) making it secure too! (free and open source)mariotoffia/FluentDocker
- Use docker, docker-compose local and remote in tests and your .NET core/full framework apps via a FluentAPIjesseduffield/lazydocker
- The lazier way to manage everything dockerworstcase/blockade
- Docker-based utility for testing network failures and partitions in distributed applicationshadolint/hadolint
- Dockerfile linter, validate inline bash, written in Haskelltmds/build-image
- Containerize .NET apps without writing Dockerfiles.Wowu/docker-rollout
- Zero Downtime Deployment for Docker Composekubernetes/kompose
- Convert Compose to Kubernetesdokku/dokku
- A docker-powered PaaS that helps you build and manage the lifecycle of applications
π Samples¶
- jbw/TooBigToFailBurgerShop - .NET Microservice Reference Application. It’s also an over-engineered burger shop!
- VasilisGaitanidis/master-containerized-microservices - This repo contains a sample application based on a fictional eCommerce. The primary goal of this sample is to demonstrate several software-architecture concepts like: Clean Architecture, Microservices, CQRS, Event Sourcing, Publish-Subscribe Architecture, Domain Driven Design (DDD). Currently this is a work in progress.
- MesutAtasoy/Joker - An example of microservices container based application which implemented different approaches within each microservice (DDD, CQRS, Simple CRUD)
- vany0114/microservices-dotnetcore-docker-sf-k8s - Shows an approach to work with a microservices based architecture using .Net Core, Docker, and Azure Service Fabric/Kubernetes, applying Domain Driven Design (DDD) and Comand and Query Responsibility Segregation (CQRS) and other patterns.
- mmacneil/ASPNETCoreDockerMicroservices - Sample project for getting off the ground with ASP.NET Core, Docker and Microservices based on the tutorial: https://fullstackmark.com/post/12/get-started-building-microservices-with-asp.net-core-and-docker-in-visual-studio-code
- WolfgangOfner/MicroserviceDemo - This is a demo with two ASP .NET 5 microservices using RabbitMQ and Docker
- twzhangyang/RestAirline - DDD+CQRS+EventSourcing+Hypermedia API+ASP.NET Core 3.1+Masstransit+terraform+docker+k8s
- madslundt/NetCoreMicroservicesSample - Sample using micro services in .NET Core 3.1 Focusing on clean code
- baotoq/micro-commerce - React, Nextjs, ASP.NET Core 5.0, IdentityServer, Dapr, Azure pipeline, K8S, SonarQube
- oskardudycz/EventSourcing.NetCore/Dockerfile
- vietnam-devs/coolstore-microservices/deploys/dockers
- vietnam-devs/coolstore-microservices/Dockerfile
- thangchung/clean-architecture-dotnet/Dockerfile
- laurentkempe/ChiseledDocker
- richlander/container-workshop - Documents fundamental .NET Container workflows
Registries¶
- distribution/distribution - The toolkit to pack, ship, store, and deliver container content
- Quay.io
- GitHub Container Registry
- Docker Container Registry
- JFrog Docker Registry
- sonatype-nexus-oss