Skip to content

Commit 2cf1850

Browse files
Updates to latest docker images, aligning maven version (#3775)
This uses latest java images, and aligns with the following tools provided by them: * maven:3.9.8 * maven-help-plugin:3.4.1 * maven-dependency-plugin:3.7.1 To align, we run "mvn wrapper:wrapper -Dtype=bin" to update maven and manually change any pom or script references to share the above plugin versions. Besides text replacement for current java versions, this also had to switch `docker-compose` to `docker compose` as the former is no longer in the base image. All test images are updated to latest versions, as well. This intentionally doesn't touch anything else, except bumping testcontainers. For example, this doesn't update maven plugins that aren't cached in the java image. Signed-off-by: Adrian Cole <[email protected]>
1 parent 2f0a26f commit 2cf1850

File tree

47 files changed

+262
-235
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+262
-235
lines changed

.mvn/wrapper/maven-wrapper.jar

481 Bytes
Binary file not shown.

.mvn/wrapper/maven-wrapper.properties

+4-2
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,7 @@
1414
# KIND, either express or implied. See the License for the
1515
# specific language governing permissions and limitations
1616
# under the License.
17-
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.6/apache-maven-3.9.6-bin.zip
18-
wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar
17+
wrapperVersion=3.3.2
18+
distributionType=bin
19+
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.8/apache-maven-3.9.8-bin.zip
20+
wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.3.2/maven-wrapper-3.3.2.jar

benchmarks/src/test/java/zipkin2/server/ServerIntegratedBenchmark.java

+7-7
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ class ServerIntegratedBenchmark {
8181

8282
@Test void elasticsearch() throws Exception {
8383
GenericContainer<?> elasticsearch =
84-
new GenericContainer<>(parse("ghcr.io/openzipkin/zipkin-elasticsearch7:3.3.1"))
84+
new GenericContainer<>(parse("ghcr.io/openzipkin/zipkin-elasticsearch7:3.4.0"))
8585
.withNetwork(Network.SHARED)
8686
.withNetworkAliases("elasticsearch")
8787
.withLabel("name", "elasticsearch")
@@ -95,7 +95,7 @@ class ServerIntegratedBenchmark {
9595

9696
@Test void cassandra3() throws Exception {
9797
GenericContainer<?> cassandra =
98-
new GenericContainer<>(parse("ghcr.io/openzipkin/zipkin-cassandra:3.3.1"))
98+
new GenericContainer<>(parse("ghcr.io/openzipkin/zipkin-cassandra:3.4.0"))
9999
.withNetwork(Network.SHARED)
100100
.withNetworkAliases("cassandra")
101101
.withLabel("name", "cassandra")
@@ -109,7 +109,7 @@ class ServerIntegratedBenchmark {
109109

110110
@Test void mysql() throws Exception {
111111
GenericContainer<?> mysql =
112-
new GenericContainer<>(parse("ghcr.io/openzipkin/zipkin-mysql:3.3.1"))
112+
new GenericContainer<>(parse("ghcr.io/openzipkin/zipkin-mysql:3.4.0"))
113113
.withNetwork(Network.SHARED)
114114
.withNetworkAliases("mysql")
115115
.withLabel("name", "mysql")
@@ -147,7 +147,7 @@ void runBenchmark(@Nullable GenericContainer<?> storage, GenericContainer<?> zip
147147
// Use a quay.io mirror to prevent build outages due to Docker Hub pull quotas
148148
// Use same version as in docker/examples/docker-compose-prometheus.yml
149149
GenericContainer<?> prometheus =
150-
new GenericContainer<>(parse("quay.io/prometheus/prometheus:v2.51.2"))
150+
new GenericContainer<>(parse("quay.io/prometheus/prometheus:v2.53.1"))
151151
.withNetwork(Network.SHARED)
152152
.withNetworkAliases("prometheus")
153153
.withExposedPorts(9090)
@@ -157,7 +157,7 @@ void runBenchmark(@Nullable GenericContainer<?> storage, GenericContainer<?> zip
157157

158158
// Use a quay.io mirror to prevent build outages due to Docker Hub pull quotas
159159
// Use same version as in docker/examples/docker-compose-prometheus.yml
160-
GenericContainer<?> grafana = new GenericContainer<>(parse("quay.io/giantswarm/grafana:7.5.9"))
160+
GenericContainer<?> grafana = new GenericContainer<>(parse("quay.io/giantswarm/grafana:7.5.12"))
161161
.withNetwork(Network.SHARED)
162162
.withNetworkAliases("grafana")
163163
.withExposedPorts(3000)
@@ -169,7 +169,7 @@ void runBenchmark(@Nullable GenericContainer<?> storage, GenericContainer<?> zip
169169
// Use a quay.io mirror to prevent build outages due to Docker Hub pull quotas
170170
// Use same version as in docker/examples/docker-compose-prometheus.yml
171171
GenericContainer<?> grafanaDashboards =
172-
new GenericContainer<>(parse("quay.io/cilium/alpine-curl:v1.9.0"))
172+
new GenericContainer<>(parse("quay.io/cilium/alpine-curl:v1.10.0"))
173173
.withNetwork(Network.SHARED)
174174
.withWorkingDirectory("/tmp")
175175
.withLogConsumer(new Slf4jLogConsumer(LOG))
@@ -277,7 +277,7 @@ GenericContainer<?> createZipkinContainer(@Nullable GenericContainer<?> storage)
277277

278278
final GenericContainer<?> zipkin;
279279
if (RELEASE_VERSION == null) {
280-
zipkin = new GenericContainer<>(parse("ghcr.io/openzipkin/java:21.0.3_p9"));
280+
zipkin = new GenericContainer<>(parse("ghcr.io/openzipkin/java:21.0.4_p7"));
281281
List<String> classpath = new ArrayList<>();
282282
for (String item : System.getProperty("java.class.path").split(File.pathSeparator)) {
283283
Path path = Paths.get(item);

build-bin/docker-compose-zipkin.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ services:
1414
# Use fixed service and container name 'sut; so our test script can copy/pasta
1515
sut:
1616
container_name: sut
17-
image: ghcr.io/openzipkin/alpine:3.20.0
17+
image: ghcr.io/openzipkin/alpine:3.20.2
1818
entrypoint: /bin/sh
1919
# Keep the container running until HEALTHCHECK passes
2020
command: "-c \"sleep 5m\""

build-bin/docker/docker-healthcheck

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# SPDX-License-Identifier: Apache-2.0
55
#
66

7-
# HEALTHCHECK for use in `docker ps`, `docker-compose ps`, or a readiness probe in k8s.
7+
# HEALTHCHECK for use in `docker ps`, `docker compose ps`, or a readiness probe in k8s.
88
#
99
# The following variables are read from ENV in the Dockerfile or env readable from pid 1.
1010
# * HEALTHCHECK_KIND - must be "http" or "tcp". Defaults to "http"

build-bin/docker/docker_args

+2-2
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ if [ -n "${DOCKER_TARGET}" ]; then
3737
fi
3838

3939
# When non-empty, becomes the base layer including tag appropriate for the image being built.
40-
# e.g. ghcr.io/openzipkin/java:21.0.3_p9-jre
40+
# e.g. ghcr.io/openzipkin/java:21.0.4_p7-jre
4141
#
4242
# This is not required to be a base (FROM scratch) image like ghcr.io/openzipkin/alpine:3.12.3
4343
# See https://docs.docker.com/glossary/#parent-image
@@ -51,7 +51,7 @@ if [ -n "${ALPINE_VERSION}" ]; then
5151
docker_args="${docker_args} --build-arg alpine_version=${ALPINE_VERSION}"
5252
fi
5353

54-
# When non-empty, becomes the build-arg java_version. e.g. "21.0.3_p9"
54+
# When non-empty, becomes the build-arg java_version. e.g. "21.0.4_p7"
5555
# Used to align base layers from https://github.com/orgs/openzipkin/packages/container/package/java
5656
if [ -n "${JAVA_VERSION}" ]; then
5757
docker_args="${docker_args} --build-arg java_version=${JAVA_VERSION}"

build-bin/docker/docker_test_image

+7-7
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,16 @@
1111

1212
set -ue
1313

14-
# export this variable so that docker-compose can use it
14+
# export this variable so that docker compose can use it
1515
export DOCKER_IMAGE=${1?full docker_tag is required. Ex openzipkin/zipkin:test}
16-
# The two options are to run a single container of the image, or docker-compose which includes it.
16+
# The two options are to run a single container of the image, or docker compose which includes it.
1717
docker_compose_file=${2:-build-bin/docker-compose-$(echo ${DOCKER_IMAGE}| sed 's~.*/\(.*\):.*~\1~g').yml}
1818
docker_container=${3:-sut}
1919

2020
# First try to run the intended containers.
2121
health_rc=0
2222
if test -f "${docker_compose_file}"; then
23-
docker-compose -f "${docker_compose_file}" up --remove-orphans -d --quiet-pull || health_rc=1
23+
docker compose -f "${docker_compose_file}" up --remove-orphans -d --quiet-pull || health_rc=1
2424
else
2525
docker run --name ${docker_container} -d ${DOCKER_IMAGE} || health_rc=1
2626
fi
@@ -30,13 +30,13 @@ fi
3030
if [ "${health_rc}" = "1" ] || ! build-bin/docker/docker_block_on_health ${docker_container}; then
3131
>&2 echo "*** Failed waiting for health of ${docker_container}"
3232

33-
# Sadly, we can't `docker-compose inspect`. This means we may not see the inspect output of the
34-
# container that failed in docker-compose until this is revised to work around compose/issues/4155
33+
# Sadly, we can't `docker compose inspect`. This means we may not see the inspect output of the
34+
# container that failed in docker compose until this is revised to work around compose/issues/4155
3535
docker inspect --format='{{json .State.Health.Log}}' ${docker_container} || true
3636

3737
# Log any containers output to console before we remove them.
3838
if test -f "${docker_compose_file}"; then
39-
docker-compose -f "${docker_compose_file}" logs
39+
docker compose -f "${docker_compose_file}" logs
4040
else
4141
docker logs ${docker_container} || true
4242
fi
@@ -45,7 +45,7 @@ fi
4545

4646
# Clean up any containers, so that we can run this again without conflict.
4747
if test -f "${docker_compose_file}"; then
48-
docker-compose -f "${docker_compose_file}" down
48+
docker compose -f "${docker_compose_file}" down
4949
else
5050
docker kill ${docker_container} && docker rm ${docker_container}
5151
fi

build-bin/maven/maven_unjar

+1-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ fi
5858

5959
if ! test -f ${artifact_id}.jar && [ ${is_release} = "true" ]; then
6060
mvn_get="mvn -q --batch-mode -Denforcer.fail=false \
61-
org.apache.maven.plugins:maven-dependency-plugin:3.6.1:get \
61+
org.apache.maven.plugins:maven-dependency-plugin:3.7.1:get \
6262
-Dtransitive=false -DgroupId=${group_id} -DartifactId=${artifact_id} -Dversion=${version}"
6363

6464
if [ -n "${classifier}" ]; then

docker/Dockerfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88
# Use latest version here: https://github.com/orgs/openzipkin/packages/container/package/java
99
# This is defined in many places because Docker has no "env" script functionality unless you use
1010
# docker-compose: When updating, update everywhere.
11-
ARG java_version=21.0.3_p9
11+
ARG java_version=21.0.4_p7
1212

1313
# We copy files from the context into a scratch container first to avoid a problem where docker and
14-
# docker-compose don't share layer hashes https://github.com/docker/compose/issues/883 normally.
14+
# docker compose don't share layer hashes https://github.com/docker/compose/issues/883 normally.
1515
# COPY --from= works around the issue.
1616
FROM scratch as scratch
1717

docker/RATIONALE.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ dependency: having HEALTHCHECK present makes triage and scripting a bit easier.
77

88
HEALTHCHECK on our test image serves primarily three purposes:
99
* ad-hoc or scripted status of health using docker ps instead of knowing Kafka commands
10-
* to allow manual usage of the docker-compose v2 service_healthy condition
10+
* to allow manual usage of the docker compose v2 service_healthy condition
1111
* support Docker Hub automated test service
1212

1313
Ex. The following command can be used ad-hoc or in scripts without the user knowing Kafka:

docker/examples/README.md

+22-22
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22

33
This project is configured to run docker containers using
44
[docker-compose](https://docs.docker.com/compose/). Note that the default
5-
configuration requires docker-compose 1.6.0+ and docker-engine 1.10.0+.
5+
configuration requires docker compose 1.6.0+ and docker-engine 1.10.0+.
66

7-
To start the default docker-compose configuration, run:
7+
To start the default docker compose configuration, run:
88

99
```bash
1010
# To use the last released version of zipkin
11-
$ docker-compose up
11+
$ docker compose up
1212
# To use the last built version of zipkin
13-
$ TAG=master docker-compose up
13+
$ TAG=master docker compose up
1414
```
1515

1616
View the web UI at $(docker ip):9411. Traces are stored in memory.
@@ -26,7 +26,7 @@ own containers.
2626

2727
To add ActiveMQ configuration, run:
2828
```bash
29-
$ docker-compose -f docker-compose-activemq.yml up
29+
$ docker compose -f docker-compose-activemq.yml up
3030
```
3131

3232
Then configure the [ActiveMQ sender](https://github.com/openzipkin/zipkin-reporter-java/blob/master/activemq-client/src/main/java/zipkin2/reporter/activemq/ActiveMQSender.java)
@@ -41,15 +41,15 @@ You can store traces in [Cassandra](../test-images/zipkin-cassandra/README.md) i
4141
To start the Cassandra-backed configuration, run:
4242

4343
```bash
44-
$ docker-compose -f docker-compose-cassandra.yml up
44+
$ docker compose -f docker-compose-cassandra.yml up
4545
```
4646

4747
The `zipkin-dependencies` container is a scheduled task that runs every hour.
4848
If you want to see the dependency graph before then, you can run it manually
4949
in another terminal like so:
5050

5151
```bash
52-
$ docker-compose -f docker-compose-cassandra.yml run --rm --no-deps --entrypoint start-zipkin-dependencies dependencies
52+
$ docker compose -f docker-compose-cassandra.yml run --rm --no-deps --entrypoint start-zipkin-dependencies dependencies
5353
```
5454

5555
## Elasticsearch
@@ -61,15 +61,15 @@ using the `docker-compose-elasticsearch.yml` file. This configuration starts `zi
6161
To start the Elasticsearch-backed configuration, run:
6262

6363
```bash
64-
$ docker-compose -f docker-compose-elasticsearch.yml up
64+
$ docker compose -f docker-compose-elasticsearch.yml up
6565
```
6666

6767
The `zipkin-dependencies` container is a scheduled task that runs every hour.
6868
If you want to see the dependency graph before then, you can run it manually
6969
in another terminal like so:
7070

7171
```bash
72-
$ docker-compose -f docker-compose-elasticsearch.yml run --rm --no-deps --entrypoint start-zipkin-dependencies dependencies
72+
$ docker compose -f docker-compose-elasticsearch.yml run --rm --no-deps --entrypoint start-zipkin-dependencies dependencies
7373
```
7474

7575
## Kafka
@@ -80,7 +80,7 @@ own containers.
8080

8181
To add Kafka configuration, run:
8282
```bash
83-
$ docker-compose -f docker-compose-kafka.yml up
83+
$ docker compose -f docker-compose-kafka.yml up
8484
```
8585

8686
Then configure the [Kafka sender](https://github.com/openzipkin/zipkin-reporter-java/blob/master/kafka/src/main/java/zipkin2/reporter/kafka/KafkaSender.java) using a `bootstrapServers` value of `host.docker.internal:9092` if your application is inside the same docker network or `localhost:19092` if not, but running on the same host.
@@ -101,7 +101,7 @@ You can store traces in [MySQL](../test-images/zipkin-mysql/README.md) instead o
101101
To start the MySQL-backed configuration, run:
102102

103103
```bash
104-
$ docker-compose -f docker-compose-mysql.yml up
104+
$ docker compose -f docker-compose-mysql.yml up
105105
```
106106

107107
## RabbitMQ
@@ -112,7 +112,7 @@ own containers.
112112

113113
To add RabbitMQ configuration, run:
114114
```bash
115-
$ docker-compose -f docker-compose-rabbitmq.yml up
115+
$ docker compose -f docker-compose-rabbitmq.yml up
116116
```
117117

118118
Then configure the [RabbitMQ sender](https://github.com/openzipkin/zipkin-reporter-java/blob/master/amqp-client/src/main/java/zipkin2/reporter/amqp/RabbitMQSender.java)
@@ -129,18 +129,18 @@ discover zipkin's endpoint from `eureka` and use it to send spans.
129129

130130
To try this out, run:
131131
```bash
132-
$ docker-compose -f docker-compose.yml -f docker-compose-eureka.yml up
132+
$ docker compose -f docker-compose.yml -f docker-compose-eureka.yml up
133133
```
134134

135135
## Example
136136

137-
The docker-compose configuration can be extended to host an [example application](https://github.com/openzipkin/brave-example)
138-
using the `docker-compose-example.yml` file. That file employs [docker-compose overrides](https://docs.docker.com/compose/extends/#multiple-compose-files)
137+
The docker compose configuration can be extended to host an [example application](https://github.com/openzipkin/brave-example)
138+
using the `docker-compose-example.yml` file. That file employs [docker compose overrides](https://docs.docker.com/compose/extends/#multiple-compose-files)
139139
to add a "frontend" and "backend" service.
140140

141141
To add the example configuration, run:
142142
```bash
143-
$ docker-compose -f docker-compose.yml -f docker-compose-example.yml up
143+
$ docker compose -f docker-compose.yml -f docker-compose-example.yml up
144144
```
145145

146146
Once the services start, open http://localhost:8081/
@@ -150,15 +150,15 @@ Afterward, you can view traces that went through the backend via http://localhos
150150

151151
## UI
152152

153-
The docker-compose configuration can be extended to [host the UI](../test-images/zipkin-ui/README.md) on port 80
153+
The docker compose configuration can be extended to [host the UI](../test-images/zipkin-ui/README.md) on port 80
154154
using the `docker-compose-ui.yml` file. That file employs
155-
[docker-compose overrides](https://docs.docker.com/compose/extends/#multiple-compose-files)
155+
[docker compose overrides](https://docs.docker.com/compose/extends/#multiple-compose-files)
156156
to add an NGINX container and relevant settings.
157157

158158
To start the NGINX configuration, run:
159159

160160
```bash
161-
$ docker-compose -f docker-compose.yml -f docker-compose-ui.yml up
161+
$ docker compose -f docker-compose.yml -f docker-compose-ui.yml up
162162
```
163163

164164
This container doubles as a skeleton for creating proxy configuration around
@@ -176,14 +176,14 @@ $ docker run -d -p 80:80 \
176176

177177
## UI Proxy
178178

179-
The docker-compose configuration can be extended to [proxy the UI](../test-images/zipkin-uiproxy/README.md) on port 80
179+
The docker compose configuration can be extended to [proxy the UI](../test-images/zipkin-uiproxy/README.md) on port 80
180180
using the `docker-compose-uiproxy.yml` file. That file employs
181-
[docker-compose overrides](https://docs.docker.com/compose/extends/#multiple-compose-files) to add an NGINX container and relevant settings.
181+
[docker compose overrides](https://docs.docker.com/compose/extends/#multiple-compose-files) to add an NGINX container and relevant settings.
182182

183183
To start the NGINX configuration, run:
184184

185185
```bash
186-
$ docker-compose -f docker-compose.yml -f docker-compose-uiproxy.yml up
186+
$ docker compose -f docker-compose.yml -f docker-compose-uiproxy.yml up
187187
```
188188

189189
This container helps verify the `ZIPKIN_UI_BASEPATH` variable by setting it to

docker/examples/docker-compose-activemq.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# SPDX-License-Identifier: Apache-2.0
44
#
55

6-
# This file uses the version 2 docker-compose file format, described here:
6+
# This file uses the version 2 docker compose file format, described here:
77
# https://docs.docker.com/compose/compose-file/#version-2
88
#
99
# It extends the default configuration from docker-compose.yml to add a test

docker/examples/docker-compose-cassandra.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# SPDX-License-Identifier: Apache-2.0
44
#
55

6-
# This file uses the version 2 docker-compose file format, described here:
6+
# This file uses the version 2 docker compose file format, described here:
77
# https://docs.docker.com/compose/compose-file/#version-2
88
#
99
# It extends the default configuration from docker-compose.yml to run the

docker/examples/docker-compose-elasticsearch.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# SPDX-License-Identifier: Apache-2.0
44
#
55

6-
# This file uses the version 2 docker-compose file format, described here:
6+
# This file uses the version 2 docker compose file format, described here:
77
# https://docs.docker.com/compose/compose-file/#version-2
88
#
99
# It extends the default configuration from docker-compose.yml to run the

docker/examples/docker-compose-eureka.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# SPDX-License-Identifier: Apache-2.0
44
#
55

6-
# This file uses the version 2 docker-compose file format, described here:
6+
# This file uses the version 2 docker compose file format, described here:
77
# https://docs.docker.com/compose/compose-file/#version-2
88
#
99
# It extends the default configuration from docker-compose.yml to register

docker/examples/docker-compose-kafka.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# SPDX-License-Identifier: Apache-2.0
44
#
55

6-
# This file uses the version 2 docker-compose file format, described here:
6+
# This file uses the version 2 docker compose file format, described here:
77
# https://docs.docker.com/compose/compose-file/#version-2
88
#
99
# It extends the default configuration from docker-compose.yml to add a test

docker/examples/docker-compose-mysql.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# SPDX-License-Identifier: Apache-2.0
44
#
55

6-
# This file uses the version 2 docker-compose file format, described here:
6+
# This file uses the version 2 docker compose file format, described here:
77
# https://docs.docker.com/compose/compose-file/#version-2
88
#
99
# This runs the zipkin and zipkin-mysql containers, using docker-compose's

0 commit comments

Comments
 (0)