|
3 | 3 |
|
4 | 4 | Using Docker allows starting Erigon packaged as a Docker image without installing the program directly on your system.
|
5 | 5 |
|
6 |
| -## General info |
| 6 | +### General Info |
7 | 7 |
|
8 |
| -* The released archive now comprises 10 key binaries: erigon, downloader, devnet, EVM, caplin, diag, integration, RPCDaemon, Sentry, and txpool; |
9 |
| -* The new Docker images feature seven binaries: erigon, integration, diag, Sentry, txpool, downloader, and RPCDaemon (same binaries included in the released archive); |
10 |
| -* Multi-platform docker image available for linux/amd64/v2 and linux/arm64 platforms and based on alpine:3.20.2; No need to pull another docker image for another different platform. |
11 |
| -* The Docker image is now compatible with multiple platforms: Linux (amd64, v2) and arm64. It's built on top of Alpine 3.20.2; |
12 |
| -* All build flags now passed to the release workflow — so, user can see previously missed build info in our released binaries (as well as in docker images) and also better build optimization expected; |
13 |
| -* With recent updates, all build configurations are now included in the release process. This provides users with more comprehensive build information for both binaries and Docker images, along with enhanced build optimizations.. |
14 |
| -* Images are stored at <https://hub.docker.com/r/erigontech/erigon> |
| 8 | +* The new Docker images feature seven binaries as are included in the released archive: `erigon`, `integration`, `diag`, `sentry`, `txpool`, `downloader`, `rpcdaemon`. |
| 9 | +* Multi-platform docker image available for linux/amd64/v2 and linux/arm64 platforms and based on alpine:3.20.2; no need to pull another docker image for another different platform. |
| 10 | +* All build flags are now passed to the release workflow, allowing users to view previously missed build information in our released binaries and Docker images. Additionally, this change is expected to result in better build optimization. |
| 11 | +* Docker images now contain the label “org.opencontainers.image.revision,” which refers to the commit ID from the Erigon project used to build the artifacts. |
| 12 | +* With recent updates, all build configurations are now included in the release process. This provides users with more comprehensive build information for both binaries and Docker images, along with enhanced build optimizations. |
| 13 | +* Images are stored at <https://hub.docker.com/r/erigontech/erigon>. |
15 | 14 |
|
16 |
| -## Download and start Erigon in Docker |
17 | 15 |
|
18 |
| -Here are the steps to download and start Erigon 3 in Docker: |
| 16 | +## Prerequisites |
| 17 | + |
| 18 | +Having Docker Engine installed, see instructions [here](https://docs.docker.com/engine/install/). |
19 | 19 |
|
20 |
| -1. Install the latest version of Docker Engine, see instructions [here](https://docs.docker.com/engine/install/). |
| 20 | +## Download and start Erigon in Docker |
21 | 21 |
|
22 |
| -2. Visit the Erigon Docker Hub page to view the available releases. For Erigon 3, search for the [latest available release](https://hub.docker.com/r/erigontech/erigon/tags?name=v3). |
| 22 | +Here are the steps to download and start Erigon in Docker: |
23 | 23 |
|
24 |
| -3. Download the latest version: |
| 24 | +1. Download the latest version: |
25 | 25 |
|
26 | 26 | ```bash
|
27 |
| -docker pull erigontech/erigon:v3.0.0 |
| 27 | +docker pull erigontech/erigon |
28 | 28 | ```
|
29 | 29 |
|
30 |
| -* List the downloaded images to get the IMAGE ID: |
| 30 | +2. List the downloaded images to get the IMAGE ID: |
31 | 31 |
|
32 | 32 | ```bash
|
33 | 33 | docker images
|
34 | 34 | ```
|
35 | 35 |
|
36 |
| -* Check which Erigon version has been downloaded: |
| 36 | +3. Check which Erigon version has been downloaded: |
37 | 37 |
|
38 | 38 | ```bash
|
39 | 39 | docker run -it <image_id> --v
|
40 | 40 | ```
|
41 | 41 |
|
42 |
| -* If you want to start Erigon add the options according to the [basic usage](/basic-usage.md) page or the advanced customization page. For example: |
| 42 | +If you want to start Erigon add the options according to the [basic usage](/basic-usage.md) page or the advanced customization page. For example: |
43 | 43 |
|
44 | 44 | ```bash
|
45 | 45 | docker run -it 36f25992dd1a --chain=holesky --prune.mode=minimal
|
| 46 | +docker run -it 36f25992dd1a --chain=holesky --prune.mode=minimal |
46 | 47 | ```
|
47 | 48 |
|
48 |
| -* When done, exit the container or press `Ctrl+C`. The container will stop. |
| 49 | +To exit the container press `Ctrl+C`; the container will stop. |
49 | 50 |
|
50 | 51 | ## Optional: Setup dedicated user
|
51 | 52 |
|
@@ -83,7 +84,7 @@ If a build or service startup is failing due to permissions, check that all the
|
83 | 84 |
|
84 | 85 | ### Run
|
85 | 86 |
|
86 |
| -Next command starts: Erigon on port 30303, rpcdaemon on port 8545, prometheus on port 9090, and grafana on port 3000: |
| 87 | +Next command starts: `erigon` on port `30303`, `rpcdaemon` on port `8545`, `prometheus` on port `9090`, and `grafana` on port `3000`: |
87 | 88 |
|
88 | 89 | ```
|
89 | 90 | #
|
@@ -119,7 +120,7 @@ ERIGON_USER=erigon
|
119 | 120 | sudo -u ${ERIGON_USER} DOCKER_UID=$(id -u ${ERIGON_USER}) DOCKER_GID=$(id -g ${ERIGON_USER}) XDG_DATA_HOME=~${ERIGON_USER}/.ethereum DOCKER_BUILDKIT=1 COMPOSE_DOCKER_CLI_BUILD=1 make docker-compose
|
120 | 121 | ```
|
121 | 122 |
|
122 |
| -`Makefile` creates the initial directories for Erigon, Prometheus and Grafana. The PID namespace is shared between erigon and rpcdaemon which is required to open Erigon's DB from another process (RPCDaemon local-mode). See: [https://github.com/ledgerwatch/erigon/pull/2392/files](https://github.com/ledgerwatch/erigon/pull/2392/files) |
| 123 | +`makefile` creates the initial directories for `erigon`, `prometheus` and `grafana`. The PID namespace is shared between erigon and rpcdaemon which is required to open Erigon's DB from another process (RPCDaemon local-mode). See: [https://github.com/ledgerwatch/erigon/pull/2392/files](https://github.com/ledgerwatch/erigon/pull/2392/files) |
123 | 124 |
|
124 | 125 | If your docker installation requires the docker daemon to run as root (which is by default), you will need to prefix the command above with `sudo`. However, it is sometimes recommended running docker (and therefore its containers) as a non-root user for security reasons. For more information about how to do this, refer to this [article](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user).
|
125 | 126 |
|
|
0 commit comments