The latest and recommended version of Compose is the Compose Specification.Make sure you switch toCompose V2 with the docker compose CLI plugin or by activating the Use Docker Compose V2 setting in Docker Desktop.
cpu_shares, cpu_quota, cpuset, mem_limit, memswap_limit: Thesehave been replaced by theresources key underdeploy. deploy configuration only takes effect when usingdocker stack deploy, and is ignored by docker-compose.
docker-compose 1.20.0 introduces a new --compatibility flag designed tohelp developers transition to version 3 more easily. When enabled,docker-compose reads the deploy section of each service's definition andattempts to translate it into the equivalent version 2 parameter. Currently,the following deploy keys are translated:
Docker-compose deployments will ignore all swarm specific configuration items in a v3 compose file. Many low level features available in v2 are missing in a v3 schema - or they moved underneath the swarm specific deploy configuration item, which gets igored for docker-compose deployments.
With Docker Compose v1.6.0+, there now is a new/version 2 file syntax for the docker-compose.yml file. The changes include a separate top level key named volumes. This allows to "centralize" volume definitions in one place.
So far I read through all the Docker Compose docs master-branch Volume configuration reference, the Docker Compose docs Volume/Volume-Driver reference and looked through GitHub examples to find the correct syntax that is expected. It seems no one is already using that (GitHub) and the documentation is far from being complete (docker.com). I also tried to build a separate volume as service and reference it in volumes, but that does not work as well. Any idea on how to this syntax is supposed to look like?
Alternatively, you can also run a specific version of Superset by first checking outthe branch/tag, and then starting docker compose with the TAG variable.For example, to run the 3.0.0 version, run the following commands on Linux-based systems:
All of the content belonging to a Superset instance - charts, dashboards, users, etc. - is stored in its metadata database. In production, this database should be backed up.The default installation with docker compose will store that data in a PostgreSQL database contained in a Docker volume,which is not backed up. To avoid risking data loss, either use a managed database for your metadata (recommended) or perform your own regular backups by extractingand storing the contents of the default PostgreSQL database from its volume (here's anexample of how to dump and restore).
You should see a wall of logging output from the containers being launched on your machine. Oncethis output slows, you should have a running instance of Superset on your local machine! Toavoid the wall of text on future runs, add the -d option to the end of the docker compose up command.
You can configure the Docker Compose environment variables for dev and non-dev mode with docker/.env and docker/.env-non-dev respectively. These environment files set the environment for most containers in the Docker Compose setup, and some variables affect multiple containers and others only single ones.
Users often want to connect to other databases from Superset. Currently, the easiest way to do this is to modify the docker-compose-non-dev.yml file and add your database as a service that the other services depend on (via x-superset-depends-on). Others have attempted to set network_mode: host on the Superset services, but these generally break the installation, because the configuration requires use of the Docker Compose DNS resolver for the service names. If you have a good solution for this, let us know!
To opt-out of this data collection for packages downloaded through the Scarf Gateway by your docker compose based installation, edit the x-superset-image: line in your docker-compose.yml and docker-compose-non-dev.yml files, replacing apachesuperset.docker.scarf.sh/apache/superset with apache/superset to pull the image directly from Docker Hub.
When running Superset using docker or docker compose it runs in its own docker container, as if the Superset was running in a separate machine entirely. Therefore attempts to connect to your local database with the hostname localhost won't work as localhost refers to the docker container Superset is running in, and not your actual host machine. Fortunately, docker provides an easy way to access network resources in the host machine from inside a container, and we will leverage this capability to connect to our local database instance.
Here the instructions are for connecting to postgresql (which is running on your host machine) from Superset (which is running in its docker container). Other databases may have slightly different configurations but gist would be same and boils down to 2 steps -
Passbolt docker indeed creates the database schema automatically. What seems to happen in your setup is that you lack the entropy on the container to create the gpg keys so the startup process is stuck on that step.
Most likely you lack haveged/rng-tools installed on your host from the list of requirements
That would work. However SSL termination might be interesting to be done on passbolt container itself. You could also front it with a vpn to increased security.
What I try to say is that the composer:
I would assume that most installation instructions will still use the old syntax docker-compose for some time, until V2 has become more mainstream. In the meantime, remember to replace with the new syntax if you're running V2.
So, the problem is that after moving to docker compose v2 (following -2022-06) I cannot update any longer because update.sh cannot find docker-compose. What do I have to do to make it work again? Am I missing something?
Note: If you are on a Linux system (for example, Debian or Ubuntu), you might need to add sudo before the command or add your user to the docker group. For more information, refer to Linux post-installation steps for Docker Engine.
The following example runs the latest stable version of Grafana, listening on port 3000, with the container named grafana, persistent storage in the grafana-storage docker volume, the server root URL set, and the official clock panel plugin installed.
Docker Compose is a software tool that makes it easy to define and share applications that consist of multiple containers. It works by using a YAML file, usually called docker-compose.yaml, which lists all the services that make up the application. You can start the containers in the correct order with a single command, and with another command, you can shut them down. For more information about the benefits of using Docker Compose and how to use it refer to Use Docker Compose.
Note: Starting with Docker Compose v2, Docker has migrated towards using the compose CLI plugin command, and away from the original docker-compose as documented in our previous Ubuntu 20.04 version of this tutorial. While the installation differs, in general the actual usage involves dropping the hyphen from docker-compose calls to become docker compose. For full compatibility details, check the official Docker documentation on command compatibility between the new compose and the old docker-compose.
With the docker-compose.yml file in place, you can now execute Docker Compose to bring your environment up. The following command will download the necessary Docker images, create a container for the web service, and run the containerized environment in background mode:
Note: If you run into a permission error regarding the Docker socket, this means you skipped Step 2 of How To Install and Use Docker on Ubuntu 22.04. Going back and completing that step will enable permissions to run docker commands without sudo.
Is there any difference in installing docker compose in .docker/cli-plugins/ vs installing it in /usr/local/bin/ ? The latter is what the linked guide says to do. This is what your older guide (20.04) and the one linked above is asking me to do.
To answer my own question: docker and docker compose are baked in to the AMIs used by the cloudformation template, config comes from: elastic-ci-stack-for-aws/install-docker.sh at master buildkite/elastic-ci-stack-for-aws GitHub
The quickest way get started with LocalStack is by using the LocalStack CLI. It allows you to start LocalStack from your command line.Please make sure that you have a working docker environment on your machine before moving on.
If you are using LocalStack with an auth token, you need to specify the image tag as localstack/localstack-pro in the docker-compose.yml file.Going forward, localstack/localstack-pro image will contain our Pro-supported services and APIs.
Please note that there are a few pitfalls when configuring your stack manually via docker-compose (e.g., required container name, Docker network, volume mounts, and environment variables).We recommend using the LocalStack CLI to validate your configuration, which will print warning messages in case it detects any potential misconfigurations:
The LocalStack CLI allows you to easily update the different components of LocalStack.To check the various options available for updating, run:$ localstack update --helpUsage: localstack update [OPTIONS] COMMAND [ARGS]... Update different LocalStack components.Options: -h, --help Show this message and exit.Commands: all Update all LocalStack components docker-images Update docker images LocalStack depends on localstack-cli Update LocalStack CLI
df19127ead