The zwave-js-server is a websocket application that hosts the Z-Wave JS driver software. You can overide this setting by configuring logging options on an individual container when it is created. Yet so stressful to lose data (sometimes) when unmounting volume. My yaml looks like: log_driver: gelf log_opt: gelf-address:udp . Docker Compose 1.27.0+ implements the format defined by the Compose Specification. Developers. Grafana Loki officially supports a Docker plugin that will read logs from Docker containers and ship them to Loki. Stop the currently running container using the command. Three images have been downloaded or created. Now that you've got a MySQL driver installed locally, you should be able to test it out. Files and Structure¶. The AWS Management Console provides an auto-configure option which creates a log group on your behalf using the task definition family name with ecs as the prefix. Instead of configuring the driver for each container, you can configure Docker to use the Google Cloud Logging driver by default. Check if it got installed correctly, it should return the docker-compose version. You can use DOCKER_CONTENT_TRUST=1 to verify the integrity of the images. 1. Apache Spark is a high-performance engine for large-scale c If I run a container by hand with docker run, it starts logging to logstash. Docker doesn't limit the size of the files or how many log files there can be for a single container. Each Docker daemon has a default logging driver, which each container uses unless you configure it to use a different logging driver, or "log-driver" for short. But docker has a gelf log driver and logstash a gelf input. By default docker uses the json-file driver to record your containers logs and the raw json output of the logs can be found in: You can get this location by running: When you run docker-compose logs [service-name], docker-compose will attach to the service (container) you reference and the LogPrinter object . Docker; Docker Compose; Go; Setting Up Docker Compose. $ docker container run -it -d --log-driver journald <image> Next, verify that your logging driver was correctly set for the container. We can specify the logging driver and options in the docker run command. We use the 'docker info' command to know the default logging driver for containers as below. By default, the container will look in /usr/share/logstash/pipeline/ for pipeline configuration files. The awslogs log driver can send log streams to an existing log group in CloudWatch Logs or it can create a new log group on your behalf. And there's also no logs in Loki. The image may include a tag or custom URL and should include https:// if required. vdemeester mentioned this issue on May 5, 2015. logspout, filebeat, journalbeat, etc. Code: docker info. 2. To "follow" the logs, use the --follow or the -f attribute. All Bitnami images available in Docker Hub are signed with Docker Content Trust (DCT). Play-with-Docker instances already have Docker Compose installed as well. The awslogs log driver can send log streams to an existing log group in CloudWatch Logs or it can create a new log group on your behalf. Therefore, if your Docker Compose instance uses Swarm, it will not work with Podman. All our images are based on minideb a minimalist Debian based container image which gives you a small base container image and the familiarity of a leading Linux distribution. Thanks in advance. Container. You might see WARNING: no logs are available with the 'loki' log driver message after starting postgres and app containers . Step 1: Start Docker Compose in background with -d flag. Finally we create a new container instance to launch the MinIO (R) client and connect to the server created in the previous step. To set the Google Cloud Logging driver as the default Docker logging driver , specify the --log-driver=gcplogs option in the dockerd command. Prepare docker compose YML profile #It represents the docker compose The version of the YML file content version: "3" networks: frontend: backend: #Defines the type of network driver and specifies the network segment of the subnet spnet: driver: bridge ipam: driver: default config: - subnet: 10.10.1./24 volumes: mysql-data: external-data: #If we want to import data volumes outside the . GitHub Gist: instantly share code, notes, and snippets. I have also tried setting the logging options to max-file 5 and max-size 10m through portainer without any luck. For example: Verify if the setup is working. Hi everyone, anyone have experience with docker compose and the log driver? You can totally view the container logs in real time. We can launch another container using the same flag ( --network NETWORK) in the docker run command. In this example we use a bind-mounted volume to provide the configuration via the docker run command: docker . Once proven, the "logging" option can be - cautiously - applied to all of your docker-compose services. Step 3: Run another container. If you could assist me in serving the file in the browser?, that'd be great. Product Offerings. Finally we create a new container instance to launch the MinIO (R) client and connect to the server created in the previous step. Bitnami Spark Docker Image . $ docker stop tensorflow-serving. You can swap Nextcloud to any service you may already have in your containers. One of the ways to log Docker containers is to use the logging drivers added by Docker last year.These drivers log the stdout and stderr output of a Docker container to a destination of your choice — depending on which driver you are using — and enable you to build a centralized log management system (the default behavior is to use the json-file driver, saving container logs to a JSON file). In this example, we create a new bucket in the MinIO (R) storage server: $ docker run -it --rm --name minio-client \ --env MINIO_SERVER_HOST="minio" \ --env MINIO . The docker run command. Server Version: 20.10.11 I have container with two Docker should already be installed on your system before installing compose. do you use one ? or using Docker Compose: $ docker-compose stop tensorflow-serving. Note that Cloud Build steps are executed in docker environment, so using localhost will able to connect to the running service. First, please prepare docker-compose.yml for Docker Compose. E.g. The files and directories we need are by default structured like this: Step 2: Wait until connection is ready, with wait . Hi, I'm trying to get the gelf driver to work from inside my compose so that I can push logs toward logstash. If the tag is omitted or equal to latest the driver will always try to pull the image. Any options that the logging driver supports can be set using the --log-opt <NAME>=<VALUE> flag. For a more functional application that also provides the zwave-js-server, it is recommended to use zwavejs2mqtt instead. Pulls 5M+ Overview Tags. # [WARNING] This setting was built to use our `start.sh`. In this example, we create a new bucket in the MinIO (R) storage server: $ docker run -it --rm --name minio-client \ --env MINIO_SERVER_HOST="minio" \ --env MINIO . image: rabbitmq:3-management-alpine Specifies an image to use, in this case the rabbitmq:3-management-alpine, which is based on the popular Alpine Linux project, and comes with the management plugin installed and enabled by default, which is available on the standard management port of 15672, with the default username and password of guest / guest.. There's so many way to send logs to an elk. docker 実行時のオプションで(ドキュメントはこちら(英語)です) --log-driver を使い、ログ記録用のドライバを指定します。 現時点で使える値は json-file、syslog、none です。暫くすると Docker エンジンにドライバが更に追加され、一覧が変わる可能性が . Company. If you are on a Linux machine, you will need to install Docker Compose using the instructions here. nginx docker-compose. The logging driver and options can also be configured using docker-compose. Use the awslogs-region log option or the AWS_REGION environment variable to set the region. Facts: docker-compose version 1.29.2. 3. All the docker service containers are running fine and I'm able to log into them at the shell using docker exec -it 3a234d1f384e sh for example. Add support for log-driver as a docker-compose.yml option #1388. $ docker-compose build $ docker-compose up -d docker-compose Issue. The basics are the same. Facts: docker-compose version 1.29.2. At the moment of writing, loki supports the following log clients: Promtail (tails logs and ships to Loki) Docker Driver; Fluentd; Fluent Bit; Logstash; We will be going into more detail on using promtail in a future post, but you can read more up about it here. Loki in Action. Send docker logs to ELK through gelf log driver. log driver. Run the command below to install docker-compose. If you want to make your code more portable and share the same version of RabbitMQ with your developer colleagues, I highly recommend using Docker. Collecting Docker Logs With Loki. Step 0: prepare docker-compose.yml. Ask Question Asked 6 years, 3 months ago. First, let's find our container id: Instead you need to push them to Loki. Docker Container Logging using Promtail. Here is a docker-compose to test a full elk with a container sending logs via gelf. My HD is out of space and I'm pretty sure that is why. The Compose specification is a unified 2.x and 3.x file format, aggregating properties across these formats. You can use DOCKER_CONTENT_TRUST=1 to verify the integrity of the images. Container. Run multi-container application locally. To Reproduce Steps to reproduce the behavior: Started Loki (master) Installed and enabled Docker-driver via docker plugin install grafana/loki-docker-driver:latest --alias loki --grant-all-permissions command $ $ docker-compose up Creating network "login_default" with the default driver Pulling private (myuser/hello-world:latest). In order to redirect container logs to journald, you can either define it in the daemon.log configuration or you can specify it at runtime with the "-log-driver" option. It does not find the logs automatically. Copy link. A service definition contains configuration that is applied to each container started for that service, much like passing command-line parameters to docker run. Container Runtime Developer Tools Docker App Kubernetes. Either another service called promtail or a custom docker logging driver. At the root of the app project . Only image is required. Below is the list of commands you can use with docker-compose. Using docker-compose with GELF log driver. You need a separate tool called a log shipper, such as Logagent, Logstash or rsyslog to structure and enrich the logs before shipping them. Nice! So here we are. Mac OSX. Step 3: Launch your MinIO (R) Client container. 1e186cc. Apache Spark packaged by Bitnami What is Apache Spark? These logging drivers are configured for the docker daemon. When you run docker logs with follow option, you'll notice that the new log lines will be reported from the container as time progresses. To configure the Docker daemon to default to a specific logging driver, set the value of log-driver to the name of the logging driver in the daemon.json file, which is located in /etc/docker/ on Linux hosts or C:\ProgramData\docker\config\ on Windows server hosts. Wrap up. It is essential to place your pipeline configuration where it can be found by Logstash. Step 2: Stop and backup the currently running container. Server Version: 20.10.11 I have container with two Docker Compose is a tool for defining and running multi-container Docker applications. If the image to be pulled exists in a registry . For example: docker run --log-driver json-file --log-opt max-size=20m max-file=5 ubuntu. Once you have Docker for Mac installed, open up the preferences pane for Docker, go to the "Resources" section and increase the allocated memory to 6GB. Docker Desktop Docker Hub. It is cost effective, easy to operate and allows viewing logs directly in Grafana. $ docker logout Removing login credentials for https://index.docker.io/v1/ $ docker image rm myuser/hello-world . All Bitnami images available in Docker Hub are signed with Docker Content Trust (DCT). For example, use mongodb://admin:apple123@mongodb:27017 instead of mongodb://admin:apple123@localhost:27017. Next, take a snapshot of the persistent volume /path/to/tensorflow-serving-persistence using: When an application in a Docker container emits logs, they are sent to the application's stdout and stderr output streams. Explaining logging related options. image - The Docker image to run. The other option is to start Superset via Docker Compose is using the recipe in docker-compose-non-dev.yml, which will use pre-built frontend assets and skip the building of front-end assets: docker-compose -f docker-compose-non-dev.yml up 3. --log-opt can be passed multiple times for each option to be set. Install Docker for Mac, which includes the Docker engine and a recent version of docker-compose out of the box. So the complete docker compose file will look like as below, Just add the logging Section to the docker compose. Using logging drivers relatively simple. Then just start up your containers via docker-compose -f file.yml up -d. Pushing logs to Loki. For your understanding, docker containers run in their own network and it doesn't know where other containers run unless and until you use the service names to connect to other containers. The following Compose config . CrowdSec configuration check. Apache Spark is a high-performance engine for large-scale c docker logs -f container_name_or_ID. For more about configuring Docker using daemon.json, see daemon.json. They both work. Previous Docker Compose versions have support for several Compose file formats - 2, 2.x, and 3.x. Could not load image For Docker v1.8, we have implemented a native Fluentd Docker logging driver , so now you are able to have an unified and structured logging system with the . Loki is a multi-tenant log aggregation system inspired by Prometheus. Docker driver configured as written in docs but after running docker-compose up docker shows warning. If you also set a name to your container, you will be able to use it as hostname in your network. For example: Using docker-compose. Could not load image For Docker v1.8, we have implemented a native Fluentd Docker logging driver , now you are able to have an unified and structured logging system with the simplicity . Viewing Docker logs in real-time on a live container. Now, I want to use the same log options with docker-compose which, according to the docs, should be possible in principle. The plugin can be configured to send the logs to a private Loki instance or Grafana Cloud.. Docker plugins are not yet supported on Windows; see the Docker Engine managed plugin system documentation for more information. The AWS Management Console provides an auto-configure option which creates a log group on your behalf using the task definition family name with ecs as the prefix. Install a Docker Engine and Docker Compose. Docker Driver Client. The created docker container are prefixed with this name. docker-compose version Create the compose file. Install Nginx Proxy Server using this repository. If I use the same options in my docker-compose.yml, the container starts with: WARNING: no logs are available with the 'gelf' driver. Use the --network app-tier argument to the docker run command to attach the ZooKeeper container to the app-tier network. NOTE: Currently, the Fluentd logging driver doesn't support sub-second precision. the official docker guide shows an exemple with sshfs as a plugin and says there are other plugins anvailable. 2. services: 3. web: 4. In this article, we will learn about the docker compose network. Podman worked seamlessly with Docker Compose. This container provides a usable zwave-js-server and nothing else. Step 3: Launch your Apache ZooKeeper client instance. Step 2: Launch the ZooKeeper server instance. For Docker v1.8, we have implemented a native Fluentd Docker logging driver. If you'd rather avoid Alpine, you could use . Output: Features. Compose and Docker compatibility matrix. docker-compose up --build -d When completed, use the docker images command to see the created images. By default it will be fetched from Docker Hub. This is my first post here, so welcome and greetings from Wroclaw, Poland. Share. After looking online I tried all the prune stuff and docker cleanup stuff without any luck. In this case, we're going to use docker-compose to configure the container name, the volumes and networks, and the ports that RabbitMQ will use . The docker driver supports the following configuration in the job spec. There are two main solutions here. We can set the value of 'log-driver' to the name of the logging driver and also specify the log options using the 'log-opts' key if different logging options are available for that driver. On Docker v1.6, the concept of logging drivers was introduced, which means that the Docker engine is aware about output interfaces that manage the application messages. To use the local driver as the default logging driver, set the log-driver and log-opt keys to appropriate values in the daemon.json file, which is located in /etc/docker/ on Linux hosts or C:\ProgramData\docker\config\daemon.json on Windows Server. Docker includes multiple logging mechanisms to help you get information from running containers and services . These mechanisms are called logging drivers. By default, Docker uses the json-file log driver and saves those logs in the overlay folder. Without them, it would be impossible to protect services. dnephin closed this in f626fc5 on May 7, 2015. Let's see how it works with our Docker Compose example. datavaultbuilder. Merged. After installation, you should be able to run the following and see version information. Let's run a simple container outputting data to /dev/stdout: $ docker run -d alpine /bin/sh -c 'echo "Hello stdout" > /dev . The network is an essential part of system/applications/services. docker; docker-compose There are . The directory name containing the docker-compose.yml file is the default project name for the stack. The command cscli hub list allows us to see which parsers and scenarios are deployed.. sudo docker-compose exec crowdsec cscli hub list INFO[25-02-2021 03:46:41 PM] Loaded 14 collecs, 19 parsers, 23 scenarios, 3 post-overflow parsers INFO[25-02-2021 03:46:41 PM] unmanaged items : 20 local, 0 tainted INFO[25-02-2021 03:46:41 PM] PARSERS: ----- NAME STATUS . Looks like the connect-distributed.properties file has Kafka broker URL configured as localhost/127.1. Connect to MySQL. Logging drivers were introduced by Docker in version 1.12 and allow you to run a container while specifying a third-party logging layer to which to route the Docker logs. Docker Compose is a tool for defining and running multi-container Docker applications. If you decide to remove this . With the YAML file below, you can create and start all the services (in this case, Apache, Fluentd, Elasticsearch, Kibana) by one command. With the YAML file below, you can create and start all the services (in this case, Apache, Fluentd, Elasticsearch, Kibana) by one command: 1. version: "3". Caveats. Now add the log driver to the services in the docker compose, the format will be like below, logging: driver: "awslogs" options: awslogs-group: "web-logs" awslogs-region: "ap-south-1" awslogs-stream: web1. All our images are based on minideb a minimalist Debian based container image which gives you a small base container image and the familiarity of a leading Linux distribution. Docker Compose is a well-known and used application for orchestrating containers on a local container runtime. dockerd --log-driver=gcplogs. Now, lemme present you my issue. # folder (./data/conf.d). ssh was so easy since every server has ssh by default. However, the docs do not mention any log formats but json-file, . Apache Spark packaged by Bitnami What is Apache Spark? In my example I use this docker-compose.yml file for Nextcloud. Tip: You can use either a .yml or .yaml extension for this file. Closes docker#1303 Signed-off-by: Vincent Demeester <vincent@sbr.pm>. Now, lemme present you my issue. Save docker-compose logs to a file. Container-Optimized OS starts Docker using . A minimal docker container for zwave-js-server. The default path for a Compose file is ./docker-compose.yml. Pulls 5M+ Overview Tags. Time to get to the fun part, clone my github repo: and add your information. Elk with a container dedicated solely to logging and Collecting logs sending logs via gelf > minimal. Section to the Docker run -- log-driver json-file -- log-opt max-size=20m max-file=5 ubuntu: instantly code! Which includes the Docker run command > Step 3: run another container using the Google Cloud logging and. A MySQL driver installed locally, you will need to use journald driver to collect the logs hand. R ) Client container usable zwave-js-server and nothing else or so command-line parameters to Docker run command to the. Lt ; Vincent @ sbr.pm & gt ; of space and I & # ;... And running multi-container Docker applications in Grafana defining and running multi-container Docker.... The log rotation after a day or so we can specify the logging configuration settings the. The file in the docker compose log driver?, that & # x27 ; s so many way send... Provides the zwave-js-server is a docker-compose to test it out below is the default driver Pulling private myuser/hello-world! Json-File、Syslog、None です。暫くすると Docker エンジンにドライバが更に追加され、一覧が変わる可能性が //www.reddit.com/r/docker/comments/rfijm6/i_have_a_dockercomposeyml_that_already_has/ '' > Adding New drivers in Docker Hub are signed with Docker command. ; s so many way to send logs to an elk: //docs.docker.com/compose/compose-file/compose-file-v2/ '' > Docker Hub are with. Are prefixed with this name be able to test a full elk with a container sending logs via gelf directly. Logging driver, specify the logging configuration settings in the Docker run command to the... Provides a usable zwave-js-server and nothing else with Wait Release Notes -- log-driver=gcplogs option in the dockerd command minimal. ; command to see the created Docker container are prefixed with this name Docker for,! The instructions here t support sub-second precision is ready, with Wait Compose file formats - 2 2.x! Started Play with Docker Compose versions have support for several Compose file 2! Custom URL and should include https: //developpaper.com/docker-compose-2/ '' > Docker logging.. Background with -d flag Just Start up your containers via docker-compose -f file.yml up -d. Pushing logs to an.. A name to your container, you will need to use the awslogs-region log option or the -f.. Log-Driver を使い、ログ記録用のドライバを指定します。 現時点で使える値は json-file、syslog、none です。暫くすると Docker エンジンにドライバが更に追加され、一覧が変わる可能性が it starts logging to logstash to lose data sometimes. May 7, 2015 format, aggregating properties across these formats add for... Is why, I want to use our ` start.sh ` Hub Release Notes one known is. > running tests with Docker Content Trust ( DCT ) github Gist: instantly share code,,! Docker plugin that will read logs from Docker containers and services docker-compose which, according to the app-tier.. Pretty sure that is why which, according to the Docker run 2 reference | Docker Documentation < /a 3. Driver and options can also be configured using docker-compose with gelf log.... Include https: //registry.hub.docker.com/r/bitnami/zookeeper '' > Docker Hub < /a > run multi-container locally! So many way to send logs to AWS CloudWatch, Fluentd, gelf, or a custom Docker logging,... For pipeline configuration files can also be configured using docker-compose with gelf log driver <. Driver, specify the -- follow or the AWS_REGION environment variable to set region. Got a MySQL driver installed locally, you could assist me in serving the file the. By Bitnami What is apache Spark completed, use the awslogs-region log option the...: verify if the setup is working > Docker Hub < /a > Bitnami Spark Docker image broken... We use the -- network app-tier & # x27 ; command to know default. New drivers in Docker Hub < /a > Collecting Docker logs with Loki docker compose log driver...: //hub.docker.com/r/bitnami/spark/ # will read logs from Docker containers and ship them to Loki share code,,. Use DOCKER_CONTENT_TRUST=1 to verify the log rotation after a day or so it as hostname in your.... Use with docker-compose which, according to the Docker run command to run the following see... Superset doc < /a > a minimal Docker container are prefixed with this name < /a > 1e186cc server! Application that also provides the zwave-js-server, it will not work with Podman setup is working include... Should include https: //www.reddit.com/r/docker/comments/rfijm6/i_have_a_dockercomposeyml_that_already_has/ '' > Docker Hub < /a > a minimal Docker container are prefixed this. Gelf, or a custom Docker logging driver doesn & # x27 ; d be great dnephin closed in... With Docker Content Trust ( DCT ) I want to use the awslogs-region log option the! Could use the docker compose log driver specification is a well-known and used application for orchestrating containers on Linux! ( R ) Client container option # 1388 Build -d When completed, use mongodb //admin... 5, 2015?, that & # x27 ; command to see the created.... Attach the ZooKeeper container to the docs do not mention any log formats but json-file, json-file! Instantly share code, Notes, and 3.x omitted or equal to latest the will. The solution is to have a container dedicated solely to logging and Collecting logs can specify the logging configuration in! Dockerd command, according to the Docker run command # 92 ; -- network app-tier & # x27 Docker. ` start.sh ` -f file.yml up -d. Pushing logs to Loki for this file docker-compose version Docker! All in one place, will allow you to really fine tune your configuration service May! And snippets do not mention any log formats but json-file,... < /a >.! 1: Start Docker Compose is a high-performance engine for large-scale c < a ''. In real time sometimes ) When unmounting volume known caveat is that Podman has and. Another container using the instructions here that hosts the Z-Wave JS driver software Notes, and snippets dedicated solely logging! To Loki parameters to Docker run command to attach the ZooKeeper container to the Docker,... Sending logs via gelf is omitted or equal to latest the driver will always try to pull the to... For each option to be pulled exists in a registry for this file > 1e186cc in real time,. Example we use the same flag ( -- network network ) in the Docker Compose on Cloud Bitnami Spark Docker image to operate allows! Docker engine and a recent version of docker-compose out of the containers Hub are signed with Docker docker compose log driver Trust DCT! To send logs to AWS CloudWatch, Fluentd, gelf, or a custom Docker logging driver the. Allows viewing logs directly in Grafana image to be pulled exists in a registry via docker-compose file.yml... Apache Spark is a high-performance engine for large-scale c < a href= '' https: //registry.hub.docker.com/r/bitnami/zookeeper '' Docker... To AWS CloudWatch, Fluentd, gelf, or a custom Docker logging driver as the default Docker logging for! Hostname in your containers Content Trust docker compose log driver DCT ) - 2,,! To know the default project name for the stack ; m pretty sure that is applied to each container for... Equal to latest the driver will always try to pull the image Docker Hub container prefixed. -- Build -d When completed, use the -- log-driver=gcplogs option in the browser? that. Of docker-compose out of the box MySQL driver installed locally, you will be able to have container... Instead of mongodb: //admin: apple123 @ mongodb:27017 instead of mongodb: //admin: apple123 @ mongodb:27017 of! Use either a.yml or.yaml extension for this file to collect logs!: latest URL and should include https: //docs.docker.com/compose/compose-file/compose-file-v2/ '' > logging - Fluentd < /a > driver! Default logging driver for containers as below, Just add the logging driver ship them to Loki 5 max-size. In Loki driver and options can also be configured using docker-compose with gelf log driver in!: homelab < /a > Bitnami Spark Docker image be pulled exists in a registry not work with.... Closes Docker # 1303 Signed-off-by: Vincent Demeester & lt ; Vincent @ sbr.pm & ;. A tag or custom URL and should include https: //registry.hub.docker.com/r/bitnami/zookeeper '' > Hub! Spark Docker image container provides a usable zwave-js-server and nothing else via gelf and.: udp Signed-off-by: Vincent Demeester & lt ; Vincent @ sbr.pm & gt ; ` start.sh `,... & lt ; Vincent @ sbr.pm & gt ; directly in Grafana //docs.fluentd.org/v/0.12/articles/docker-logging '' Docker. Docker-Compose out of space and I & # x27 ; t support sub-second precision setting logging. Issues: homelab < /a > 1 > r/docker - I have a docker-compose.yml that has... Instead of mongodb: //admin: apple123 @ localhost:27017 it got installed correctly, it would be to! Be able to run the following and see version information mentioned this issue on 7! Connection is ready, with Wait ssh was so easy since every server has ssh default... Docker Community Open Source docs Hub Release Notes ssh by default Docker <. The app-tier network default driver Pulling private ( myuser/hello-world: latest ) we can specify the logging to! Information from running containers and ship them to Loki and 3.x fine tune your configuration,. See daemon.json use with docker-compose which, according to the Docker images command to the... Large-Scale c < a href= '' https: //hub.docker.com/r/bitnami/concourse/ '' > Docker Compose network your Docker Compose network are with... To an elk example, use the -- log-driver=gcplogs option in the?... Default, the Fluentd logging driver and options in the Docker engine and a recent version docker-compose... Following and see version information running tests with Docker Community Open Source docs Hub Release Notes Docker...