Skip to content

Commit 811d309

Browse files
committed
add aarch64
1 parent 3d674d5 commit 811d309

File tree

2 files changed

+43
-5
lines changed

2 files changed

+43
-5
lines changed

Makefile

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -156,18 +156,25 @@ prod-with-debug:
156156

157157
.PHONY: docker
158158
docker: ## Build docker image
159-
docker build -f docker/hub/Dockerfile -t nervos/ckb:$$(git describe) .
159+
docker build -f docker/hub/Dockerfile -t nervos/ckb:x64-$$(git describe) .
160160
docker run --rm -it nervos/ckb:$$(git describe) --version
161161

162+
docker-aarch64:
163+
docker build -f docker/hub/Dockerfile-aarch64 -t nervos/ckb:aarch64-$$(git describe) .
164+
162165
.PHONY: docker-publish
163166
docker-publish:
164-
docker push nervos/ckb:$$(git describe)
165-
docker tag nervos/ckb:$$(git describe) nervos/ckb:latest
166-
docker push nervos/ckb:latest
167+
docker push nervos/ckb:x64-$$(git describe)
168+
docker push nervos/ckb:aarch64-$$(git describe)
169+
docker manifest create nervos/ckb:latest nervos/ckb:x64-$$(git describe) nervos/ckb:aarch64-$$(git describe)
170+
docker manifest push nervos/ckb:latest
167171

168172
.PHONY: docker-publish-rc
169173
docker-publish-rc:
170-
docker push nervos/ckb:$$(git describe)
174+
docker push nervos/ckb:x64-$$(git describe)
175+
docker push nervos/ckb:aarch64-$$(git describe)
176+
docker manifest create nervos/ckb:$$(git describe) nervos/ckb:x64-$$(git describe) nervos/ckb:aarch64-$$(git describe)
177+
docker manifest push nervos/ckb:$$(git describe)
171178

172179
##@ Code Quality
173180
.PHONY: fmt

docker/hub/Dockerfile-aarch64

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
FROM nervos/ckb-docker-builder:aarch64-rust-1.71.1 as ckb-docker-builder
2+
3+
WORKDIR /ckb
4+
COPY ./ .
5+
6+
RUN make prod-docker
7+
8+
FROM arm64v8/ubuntu
9+
LABEL description="Nervos CKB is a public permissionless blockchain, the common knowledge layer of Nervos network."
10+
LABEL maintainer="Nervos Core Dev <dev@nervos.org>"
11+
12+
RUN groupadd -g 1000 ckb \
13+
&& useradd -m -u 1000 -g ckb -s /bin/sh ckb \
14+
&& mkdir -p /var/lib/ckb
15+
16+
WORKDIR /var/lib/ckb
17+
18+
COPY --from=ckb-docker-builder \
19+
/usr/lib/aarch64-linux-gnu/libssl.so.* \
20+
/usr/lib/aarch64-linux-gnu/libcrypto.so.* \
21+
/usr/lib/aarch64-linux-gnu/
22+
COPY --from=ckb-docker-builder /ckb/target/prod/ckb /ckb/docker/docker-entrypoint.sh /bin/
23+
RUN chown -R ckb:ckb /var/lib/ckb \
24+
&& chmod 755 /var/lib/ckb
25+
26+
USER ckb
27+
ENV CKB_CHAIN=mainnet
28+
29+
EXPOSE 8114 8115
30+
VOLUME ["/var/lib/ckb"]
31+
ENTRYPOINT ["/bin/docker-entrypoint.sh"]

0 commit comments

Comments
 (0)