You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docker/README.md
+75-5Lines changed: 75 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,7 +34,7 @@ Building image and running tests using github actions
34
34
-`native` image type is for graalvm based `native` kafka docker image (to be hosted on apache/kafka-native) as described in [KIP-974](https://cwiki.apache.org/confluence/display/KAFKA/KIP-974%3A+Docker+Image+for+GraalVM+based+Native+Kafka+Broker#KIP974:DockerImageforGraalVMbasedNativeKafkaBroker-ImageNaming)
35
35
36
36
- Example(jvm):-
37
-
To build and test a jvm image type ensuring kafka to be containerised should be https://archive.apache.org/dist/kafka/3.6.0/kafka_2.13-3.6.0.tgz (it is recommended to use scala 2.13 binary tarball), following inputs in github actions workflow are recommended.
37
+
To build and test a jvm image type ensuring kafka to be containerised should be https://archive.apache.org/dist/kafka/3.6.0/kafka_2.13-3.6.0.tgz (it is recommended to use scala 2.13 binary tarball), following inputs in github actions workflow are recommended.
@@ -52,7 +52,7 @@ Creating a Release Candidate using github actions
52
52
- Go to `Build and Push Release Candidate Docker Image` Github Actions Workflow.
53
53
- Choose the `image_type` and provide `kafka_url` that needs to be containerised in the `rc_docker_image` that will be pushed to github.
54
54
- Example(jvm):-
55
-
If you want to push a jvm image which contains kafka from https://archive.apache.org/dist/kafka/3.6.0/kafka_2.13-3.6.0.tgz to dockerhub under the namespace apache, repo name as kafka and image tag as 3.6.0-rc1 then following values need to be added in Github Actions Workflow:-
55
+
If you want to push a jvm image which contains kafka from https://archive.apache.org/dist/kafka/3.6.0/kafka_2.13-3.6.0.tgz to dockerhub under the namespace apache, repo name as kafka and image tag as 3.6.0-rc1 then following values need to be added in Github Actions Workflow:-
@@ -73,7 +73,7 @@ Promoting a Release Candidate using github actions
73
73
- Go to `Promote Release Candidate Docker Image` Github Actions Workflow.
74
74
- Choose the RC docker image (`rc_docker_image`) that you want to promote and where it needs to be pushed to (`promoted_docker_image`), i.e. the final docker image release.
75
75
- Example(jvm):-
76
-
If you want to promote apache/kafka:3.6.0-rc0 RC docker image to apache/kafka:3.6.0 then following parameters can be provided to the workflow.
76
+
If you want to promote apache/kafka:3.6.0-rc0 RC docker image to apache/kafka:3.6.0 then following parameters can be provided to the workflow.
77
77
```
78
78
rc_docker_image: apache/kafka:3.6.0-rc0
79
79
promoted_docker_image: apache/kafka:3.6.0
@@ -114,6 +114,29 @@ Run `pip install -r requirements.txt` to get all the requirements for running th
114
114
115
115
Make sure you have docker installed with support for buildx enabled. (For pushing multi-architecture image to docker registry)
116
116
117
+
Use local code run in docker
118
+
---------------------------------------
119
+
120
+
- command run in project root folders
121
+
122
+
1. generate tgz
123
+
```shell
124
+
# For example only, can be modified based on your compilation requirements
125
+
./gradlew releaseTarGz -x test -x check
126
+
```
127
+
2. run
128
+
```shell
129
+
docker-compose -f docker/local/docker-compose.yml up -d
130
+
```
131
+
132
+
- After modifying your code, simply regenerate the tgz and restart the specified service.
133
+
```shell
134
+
# For example only, can be modified based on your compilation requirements
135
+
./gradlew releaseTarGz -x test -x check
136
+
# eg: restart broker
137
+
docker-compose -f docker/local/docker-compose.yml up broker1 broker2 -d --force-recreate
138
+
```
139
+
117
140
Building image and running tests locally
118
141
---------------------------------------
119
142
@@ -187,7 +210,7 @@ image_type: jvm
187
210
kafka_version: 3.7.0
188
211
```
189
212
190
-
- Run the `docker/extract_docker_official_image_artifact.py` script, by providing it the path to the downloaded artifact. This will create a new directory under `docker/docker_official_images/kafka_version`.
213
+
- Run the `docker/extract_docker_official_image_artifact.py` script, by providing it the path to the downloaded artifact. This will create a new directory under `docker/docker_official_images/kafka_version`.
- kafka-version - This is the version to create the Docker official images static Dockerfile and assets for, as well as the version to build and test the Docker official image for.
213
-
- image-type - This is the type of image that we intend to build. This will be dropdown menu type selection in the workflow. `jvm` image type is for official docker image (to be hosted on apache/kafka) as described in [KIP-975](https://cwiki.apache.org/confluence/display/KAFKA/KIP-975%3A+Docker+Image+for+Apache+Kafka).
236
+
- image-type - This is the type of image that we intend to build. This will be dropdown menu type selection in the workflow. `jvm` image type is for official docker image (to be hosted on apache/kafka) as described in [KIP-975](https://cwiki.apache.org/confluence/display/KAFKA/KIP-975%3A+Docker+Image+for+Apache+Kafka).
214
237
-**NOTE:** As of now [KIP-1028](https://cwiki.apache.org/confluence/display/KAFKA/KIP-1028%3A+Docker+Official+Image+for+Apache+Kafka) only aims to release JVM based Docker Official Images and not GraalVM based native Apache Kafka docker image.
215
238
239
+
AutoMQ Docker Compose Configurations
240
+
====================================
241
+
242
+
This directory contains Docker Compose configurations for deploying AutoMQ in different scenarios.
243
+
244
+
Quick Start (Single Node)
245
+
-------------------------
246
+
247
+
The main `docker-compose.yaml` in the root directory provides a simple single-node setup for quick evaluation and development:
248
+
249
+
```bash
250
+
# From the root directory
251
+
docker-compose up -d
252
+
```
253
+
254
+
This configuration:
255
+
- Deploys a single AutoMQ node that acts as both controller and broker
256
+
- Includes MinIO for S3 storage
257
+
- Uses the latest bucket URI pattern (s3.data.buckets, s3.ops.buckets, s3.wal.path)
258
+
- All services run in a single Docker network
259
+
260
+
Production-like Cluster
261
+
-----------------------
262
+
263
+
For a more production-like setup, use the cluster configuration:
264
+
265
+
```bash
266
+
# From the root directory
267
+
docker-compose -f docker/docker-compose-cluster.yaml up -d
268
+
```
269
+
270
+
This configuration:
271
+
- Deploys a 3-server cluster
272
+
- Includes MinIO for S3 storage
273
+
- Uses the latest bucket URI pattern (s3.data.buckets, s3.ops.buckets, s3.wal.path)
274
+
- All services run in a single Docker network
275
+
276
+
Configuration Notes
277
+
-------------------
278
+
279
+
Both configurations use the new bucket URI pattern as recommended in the AutoMQ documentation:
280
+
281
+
-`s3.data.buckets` for data storage
282
+
-`s3.ops.buckets` for logs and metrics storage
283
+
-`s3.wal.path` for S3 WAL
284
+
285
+
For more details, see the [AutoMQ documentation](https://www.automq.com/docs/automq/getting-started/cluster-deployment-on-linux#step-2-edit-the-cluster-configuration-template).
0 commit comments