Skip to content
Snippets Groups Projects
Unverified Commit 7ce74d9e authored by Wolfgang Welz's avatar Wolfgang Welz Committed by GitHub
Browse files

Merge pull request #35 from iotaledger/feat/docker

Initial Docker support
parents 6221b181 0aa90371
No related branches found
No related tags found
No related merge requests found
# Database directory
mainnetdb/
# we need to use alpine to build since cgo is required
FROM golang:1.12-alpine AS build
RUN apk add --no-cache git gcc g++
# Set the current Working Directory inside the container
RUN mkdir /goshimmer
WORKDIR /goshimmer
# Download dependencies
COPY go.mod .
COPY go.sum .
RUN go mod download
# Copy everything from the current directory to the PWD(Present Working Directory) inside the container
COPY . .
# Build
RUN CGO_ENABLED=1 GOOS=linux go build -o /go/bin/goshimmer
FROM alpine:latest
RUN apk --no-cache add ca-certificates
WORKDIR /root/
VOLUME /root/mainnetdb
EXPOSE 14666/tcp
EXPOSE 14626/udp
EXPOSE 14626/tcp
# Copy the Pre-built binary file from the previous stage
COPY --from=build /go/bin/goshimmer .
ENTRYPOINT ["./goshimmer"]
......@@ -36,4 +36,21 @@ You can then run by:
```
./shimmer
```
\ No newline at end of file
```
## Docker
To run Shimmer on docker, you must first build the image with
```
docker build -t iotaledger/goshimmer .
```
and then run it with
```
docker run --rm -it -v target/mainnetdb:/root/mainnetdb iotaledger/goshimmer
```
You may replace `target/mainnetdb` with a custom path to the database folder.
To start Shimmer in the background, you can also simply use [Docker Compose](https://docs.docker.com/compose/) by running
```
docker-compose up -d
```
version: "3"
services:
goshimmer:
image: iotaledger/goshimmer
container_name: iota_goshimmer
restart: unless-stopped
volumes:
- ./mainnetdb:/root/mainnetdb:rw
ports:
- "14666:14666/tcp"
- "14626:14626/udp"
- "14626:14262/tcp"
command: "-node-disable-plugins statusscreen"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment