docker-compose-wait
Docker Compose
docker-compose-wait | Docker Compose | |
---|---|---|
5 | 388 | |
1,588 | 32,367 | |
- | 0.7% | |
5.5 | 9.6 | |
4 months ago | 7 days ago | |
Rust | Go | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
docker-compose-wait
-
Azure CD via Pipelines/Docker
FROM wordpress:cli # Install make tool USER root RUN apk add --no-cache make # Make docker-compose wait for container dependencies be ready # Add the wait script to the image ENV WAIT_VERSION 2.7.2 ADD https://github.com/ufoscout/docker-compose-wait/releases/download/$WAIT_VERSION/wait /wait RUN chmod +x /wait # Add Makefile to scripts dir ADD Makefile entrypoint.sh /scripts/ RUN chmod +x /scripts/entrypoint.sh ENTRYPOINT [ "/scripts/entrypoint.sh" ] USER 33:33 CMD ["wp", "shell"]
- Any easy way to wait for dependend on containers to actually be ready in docker-compose?
- How to NOT expose a container until everything is built?
-
Integration testing with EF Core, part 1
FROM mcr.microsoft.com/dotnet/sdk:5.0-alpine AS build WORKDIR /src # Get connection string argument from docker compose and set it as an environment variable ARG connection_string ENV ConnectionStrings__Database=${connection_string} # Standard docker build COPY ["tests/Integration.Tests/Integration.Tests.csproj", "Integration.Tests/"] RUN dotnet restore "Integration.Tests/Integration.Tests.csproj" COPY . . WORKDIR "Integration.Tests" # Restore the dotnet-ef command RUN dotnet tool restore RUN dotnet build "Integration.Tests.csproj" -c Release -o /app/build # Install docker-compose-wait to make sure the db server is up & running before moving on ADD https://github.com/ufoscout/docker-compose-wait/releases/download/2.5.0/wait /wait RUN chmod +x /wait # Wait for sql server and then migrate the db and run tests CMD /wait && dotnet ef database update --context MyDbContext && dotnet test --no-build
-
How to make sure that the container only starts if Redis and PSQL are ready to accept connections?
If youre using docker-compose, I can recommend https://github.com/ufoscout/docker-compose-wait
Docker Compose
- Docker Compose: `version` is obsolete
-
12 Factor: 13 years later
Solutions are many, and could include Docker Compose, VS Code dev containers, Telepresence, Localstack or setting up temporary AWS accounts as a development environment for serverless applications.
-
Let's write a simple microservice in Clojure
Using Docker Compose to run Postgres and any third-party services locally provides a streamlined and consistent development environment. Developers can define services in a docker-compose.yml file, which enables them to configure and launch an entire stack with a single command. In this case, Postgres is encapsulated within a container with predefined configurations. Docker Compose also facilitates easy scaling, updates, and isolation of services, enhancing development efficiency and reducing the setup time for new team members or transitioning between projects. It encapsulates complex configurations, such as Postgres' performance monitoring and logging settings, in a manageable, version-controlled file, simplifying and replicating the service setup across different environments.
- Live reload em Go com docker e compile daemon
-
Docker compose, orchestrating and automating services
“Compose simplifies the control of your entire application stack, making it easy to manage services, networks, and volumes in a single, comprehensible YAML configuration file. Then, with a single command, you create and start all the services from your configuration file.” - Docker documentation
-
Hosting a simple docker-compose app with Nginx and generate a SSL with certbot on digitalocean droplet
curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh # Install docker compose sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose # Apply executable permissions to the binary sudo chmod +x /usr/local/bin/docker-compose # Run Project docker-compose up -d
-
One Minute: Compose
Docker,
-
How to Set Up a Docker Container
This foundation now opens the door to even more powerful concepts. You can explore more advanced concepts such as container networking, streamlining the management of complex applications with Docker Compose, and how to make your application data persistent using volumes.
-
Use same Dockerfile for Dev & Production
In many projects that are containerized, especially in cases where development is also done locally with docker-compose, teams often have two Dockerfiles, 1 for Development, the other for Production. If you happen to have multiple environments like pre-prod, staging and so on, some teams could have different Dockerfiles for these environments.
-
How to Dockerise a NodeJS - TypeScript API || A Comprehensive Guide from Environment Setup to Deployment with a CI/CD Pipeline
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
What are some alternatives?
Redis - Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes, Streams, HyperLogLogs, Bitmaps.
supervisor - Supervisor process control system for Unix (supervisord)
docuum - Docuum performs least recently used (LRU) eviction of Docker images. 🗑️
LibreNMS-docker - LibreNMS Docker image
trow - Container Registry and Image Management for Kubernetes Clusters
terraform - Terraform enables you to safely and predictably create, change, and improve infrastructure. It is a source-available tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.
Habitus - A build flow tool for Docker.
Portainer - Making Docker and Kubernetes management easy.
modus - A language for building Docker/OCI container images
Cloud-Init - unofficial mirror of Ubuntu's cloud-init
oci-lib - oci-image and oci-runtime spec in rust. Un-official mirror of libocispec.
k3s - Lightweight Kubernetes