Skip to content

Commit 55f07dd

Browse files
Chris Elderdenyeart
Chris Elder
authored andcommitted
Update docker image dependencies
Upgrade to golang 1.22.3 Upgrade to Node 20.14.0 Upgrade Fabric CA to 1.5.11 Upgrade maven to 3.9.7 Signed-off-by: Chris Elder <celder@Chriss-MacBook-Pro.local>
1 parent 82779a3 commit 55f07dd

File tree

1 file changed

+24
-23
lines changed

1 file changed

+24
-23
lines changed

Dockerfile2

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,24 @@
22
# SPDX-License-Identifier: Apache-2.0
33
#
44

5-
6-
FROM golang:1.18 AS builder
5+
FROM debian:bullseye-slim AS builder
76
ENV DEBIAN_FRONTEND=noninteractive
87

8+
ARG TARGETARCH
9+
ARG TARGETOS
10+
911
# Build tools
1012
RUN apt-get update \
1113
&& apt-get -y install build-essential gcc gzip \
1214
&& apt-get -y install python3 python3-distutils libpython3-dev software-properties-common \
1315
&& apt-get -y install curl git jq unzip moreutils
1416

17+
RUN curl -sL https://go.dev/dl/go1.22.3.${TARGETOS}-${TARGETARCH}.tar.gz | tar zxf - -C /usr/local
18+
ENV PATH="/usr/local/go/bin:$PATH"
19+
20+
ENV GOROOT=/usr/local/go
21+
ENV GOPATH=/tmp/go
22+
1523
WORKDIR $GOPATH/src/github.com/hyperledger
1624
RUN git clone --depth 1 --branch release-2.5 https://github.com/hyperledger/fabric.git \
1725
&& git clone --depth 1 --branch v1.5.5 https://github.com/hyperledger/fabric-ca.git
@@ -31,57 +39,50 @@ ADD . $GOPATH/src/github.com/IBM/microfab
3139
RUN go build -o microfabd cmd/microfabd/main.go
3240

3341
WORKDIR /fabric
34-
RUN curl -sSL https://github.com/hyperledger/fabric/releases/download/v2.4.6/hyperledger-fabric-linux-amd64-2.4.6.tar.gz | tar xzf - config
35-
36-
37-
# RUN FABRIC_DOCKER_REGISTRY=ghcr.io/hyperledger \
38-
# curl -sSL https://raw.githubusercontent.com/hyperledger/fabric/main/scripts/install-fabric.sh \
39-
# | bash -s -- binary --fabric-version 2.5.0-alpha1 --ca-version 1.5.6-beta
42+
RUN curl -sSL https://github.com/hyperledger/fabric/releases/download/v2.5.7/hyperledger-fabric-linux-amd64-2.5.7.tar.gz | tar xzf - config
4043

41-
FROM couchdb:3.1.2
44+
FROM couchdb:3.3.3
4245

4346
# Though they are populated by docker buildx, the ARG reference is required to make them available for use
4447
ARG TARGETARCH
4548
ARG TARGETOS
4649

4750
RUN apt-get update && apt-get install -y \
48-
jq xz-utils unzip vim\
51+
jq xz-utils unzip vim \
4952
&& rm -rf /var/lib/apt/lists/*
5053

5154
RUN groupadd -g 7051 microfab \
5255
&& useradd -u 7051 -g microfab -G root -s /bin/bash -m microfab \
5356
&& mkdir -p /home/microfab/builders /home/microfab/data \
5457
&& chown -R microfab:microfab /home/microfab
5558

56-
# go1.19.4.linux-amd64.tar.gz
57-
# go1.19.4.linux-arm64.tar.gz
5859
RUN mkdir -p /opt/go /opt/node /opt/java \
59-
&& curl -sSL https://dl.google.com/go/go1.17.2.$TARGETOS-$TARGETARCH.tar.gz | tar xzf - -C /opt/go --strip-components=1
60+
&& curl -sSL https://dl.google.com/go/go1.22.3.$TARGETOS-$TARGETARCH.tar.gz | tar xzf - -C /opt/go --strip-components=1
6061

6162
# OpenJDK11U-jdk_x64_linux_hotspot_11.0.17_8.tar.gz
6263
# node-v18.12.1-linux-x64.tar.xz
6364
RUN if [ "${TARGETARCH}" = "amd64" ]; then ARCH=x64 \
6465
&& curl -sSL https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.17%2B8/OpenJDK11U-jdk_${ARCH}_${TARGETOS}_hotspot_11.0.17_8.tar.gz | tar xzf - -C /opt/java --strip-components=1 \
65-
&& curl -sSL https://nodejs.org/download/release/v16.4.0/node-v16.4.0-${TARGETOS}-${ARCH}.tar.xz | tar xJf - -C /opt/node --strip-components=1 \
66+
&& curl -sSL https://nodejs.org/download/release/v20.14.0/node-v20.14.0-${TARGETOS}-${ARCH}.tar.xz | tar xJf - -C /opt/node --strip-components=1 \
6667
; fi
6768

6869
# node-v18.12.1-linux-arm64.tar.xz
6970
# OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.17_8.tar.gz
7071
RUN if [ "${TARGETARCH}" = "arm64" ]; then ARCH=aarch64 \
7172
&& curl -sSL https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.17%2B8/OpenJDK11U-jdk_${ARCH}_${TARGETOS}_hotspot_11.0.17_8.tar.gz | tar xzf - -C /opt/java --strip-components=1 \
72-
&& curl -sSL https://nodejs.org/download/release/v16.4.0/node-v16.4.0-${TARGETOS}-${TARGETARCH}.tar.xz | tar xJf - -C /opt/node --strip-components=1 \
73+
&& curl -sSL https://nodejs.org/download/release/v20.14.0/node-v20.14.0-${TARGETOS}-${TARGETARCH}.tar.xz | tar xJf - -C /opt/node --strip-components=1 \
7374
; fi
7475

7576

7677
COPY docker/local.ini /opt/couchdb/etc/local.d/local.ini
7778
COPY docker/docker-entrypoint.sh /usr/local/bin
78-
COPY --from=builder /go/src/github.com/hyperledger/fabric/build/bin/* /usr/local/bin/
79-
COPY --from=builder /go/src/github.com/hyperledger/fabric-ca/release/build/bin/* /usr/local/bin/
79+
COPY --from=builder /tmp/go/src/github.com/hyperledger/fabric/build/bin/* /usr/local/bin/
80+
COPY --from=builder /tmp/go/src/github.com/hyperledger/fabric-ca/release/build/bin/* /usr/local/bin/
8081
COPY --from=builder /fabric/config /etc/hyperledger/fabric
81-
COPY --from=builder /go/src/github.com/IBM/microfab/microfabd /usr/local/bin/
82+
COPY --from=builder /tmp/go/src/github.com/IBM/microfab/microfabd /usr/local/bin/
8283

83-
COPY --from=builder --chown=microfab:microfab /go/src/github.com/IBM/microfab/builders/ /home/microfab/builders/
84-
COPY --from=builder --chown=microfab:microfab /go/src/github.com/hyperledger/fabric/release/*/builders/ccaas /home/microfab/builders/ccaas
84+
COPY --from=builder --chown=microfab:microfab /tmp/go/src/github.com/IBM/microfab/builders/ /home/microfab/builders/
85+
COPY --from=builder --chown=microfab:microfab /tmp/go/src/github.com/hyperledger/fabric/release/*/builders/ccaas /home/microfab/builders/ccaas
8586

8687
RUN sed -i 's/opt/home/g' /opt/couchdb/etc/local.d/local.ini
8788

@@ -98,8 +99,8 @@ RUN curl -sSL -o /tmp/gradle.zip https://services.gradle.org/distributions/gradl
9899
&& rm -f /tmp/gradle.zip \
99100
&& rm -rf /opt/gradle-5.6.4 \
100101
&& cd - \
101-
&& curl -sSL https://downloads.apache.org/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz | tar xzf - -C /opt \
102-
&& mv /opt/apache-maven-3.6.3 /opt/maven
102+
&& curl -sSL https://dlcdn.apache.org/maven/maven-3/3.9.7/binaries/apache-maven-3.9.7-bin.tar.gz | tar xzf - -C /opt \
103+
&& mv /opt/apache-maven-3.9.7 /opt/maven
103104
ENV PATH=/opt/gradle/bin:/opt/maven/bin:${PATH}
104105
ADD builders/java/pom.xml /opt/fabric-chaincode-java/
105106

@@ -119,4 +120,4 @@ ENV GOENV=/tmp/goenv
119120
ENV GOPATH=/tmp/go
120121

121122
VOLUME /home/microfab/data
122-
ENTRYPOINT [ "tini", "--", "/usr/local/bin/docker-entrypoint.sh" ]
123+
ENTRYPOINT [ "tini", "--", "/usr/local/bin/docker-entrypoint.sh" ]

0 commit comments

Comments
 (0)