Repository navigation
fix(docker): update image builds and improve deployment tooling - #6981
Conversation
- Explain that downloaded Dockerfiles require a missing docker-entrypoint.sh - Direct users to a complete checkout containing matching Dockerfiles - Document synchronization and verification requirements for standalone builds
Accept upstream removal of the root .dockerignore because Docker builds use docker/ as their build context. Preserve the branch's Docker image, lifecycle, documentation and CI changes.
| && rm -rf /var/lib/apt/lists/* | ||
| # Update and install dependencies without using any cache | ||
| RUN apt-get update $NO_PROXY_CACHE \ | ||
| && apt-get --quiet --yes install git 7zip curl jq libtcmalloc-minimal4 openjdk-17-jre-headless=17* \ |
There was a problem hiding this comment.
[MUST] This installs only the Java runtime, but line 17 builds java-tron from source. The previous Temurin base image provided a full JDK; Ubuntu packages javac in openjdk-17-jdk-headless, not openjdk-17-jre-headless. Please install the JDK for the build stage and verify an actual ARM64 image build. The new CI job runs only docker buildx build --check, so it does not catch this failure.
There was a problem hiding this comment.
This choice is intentional. The current Ubuntu + openjdk-17-jre-headless setup supports our source build and produces a smaller final image than the Temurin-based variant we previously compared. That was the reason for this change.
The CI job is explicitly a static check; we are not presenting --check as validation of a complete ARM64 image build.
|
|
||
| if [[ "$network" = "private" ]]; then | ||
| network_config="$CONFIG_DIR/$PRIVATE_NET_CONFIG_FILE" | ||
| elif [[ "$network" != "main" ]]; then |
There was a problem hiding this comment.
[SHOULD] The previous helper accepted --run --net test and downloaded test_net_config.conf; this branch now rejects that invocation. Please either retain test-network support or document a concrete migration using -v and -c for existing deployments.
There was a problem hiding this comment.
Removing --net test is intentional. The documentation already directs testnet users to a separate repository maintained specifically for testnet deployment.
This helper is intended for mainnet and single-node private networks. Since testnet may require a different source revision, users should follow the documented deployment path rather than simply switching the configuration of a mainnet image.
What does this PR do?
Why are these changes required?
The Docker deployment path used outdated dependencies, weak JDK verification and stale instructions, with no dedicated CI coverage.
This PR has been tested by:
bash -n) and ShellCheck passed.Follow up
developand verify standalone helper builds for both architectures.Extra details
Targets
release_v4.8.3. Untildevelopreceives the matching files, use a complete checkout for--build. Dockerfiles continue to build Java sources from remotemaster.