mirror of
https://github.com/kaspanet/kaspad.git
synced 2025-03-30 15:08:33 +00:00
[NOD-95] Added docker file and scripts to run dev instances for debugging (#241)
* [NOD-95] Added docker file and scripts to run dev instances for debugging * [NOD-95] Enabled debugging from dockers * [NOD-95] Removed redundant entrypoint.sh file * [NOD-95] Removed multi-stage build artifacts from Dockerfile.dev * [NOD-95] Add --help to run-dev.sh
This commit is contained in:
parent
ba03d512f3
commit
67358d1e85
25
docker/Dockerfile.dev
Normal file
25
docker/Dockerfile.dev
Normal file
@ -0,0 +1,25 @@
|
||||
FROM golang:1.12-alpine
|
||||
|
||||
ENV PATH="${GOPATH}/bin:${PATH}"
|
||||
|
||||
RUN mkdir -p /go/src/github.com/daglabs/btcd
|
||||
|
||||
WORKDIR /go/src/github.com/daglabs/btcd
|
||||
|
||||
RUN apk add --no-cache curl git openssh binutils gcc musl-dev tini bash
|
||||
# Allow delve to run on Alpine based containers.
|
||||
RUN apk add --no-cache libc6-compat
|
||||
|
||||
RUN curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh
|
||||
|
||||
RUN go get github.com/derekparker/delve/cmd/dlv
|
||||
|
||||
COPY ./Gopkg.* ./
|
||||
|
||||
RUN dep ensure -v -vendor-only
|
||||
|
||||
COPY . .
|
||||
|
||||
RUN CGO_ENABLED=0 GOOS=linux go build -gcflags "all=-N -l" -a -installsuffix cgo -o btcd .
|
||||
|
||||
ENTRYPOINT [ "/sbin/tini", "--" ]
|
@ -1,26 +1,71 @@
|
||||
version: '3'
|
||||
services:
|
||||
first:
|
||||
image: 956501169541.dkr.ecr.us-east-1.amazonaws.com/btcd:latest
|
||||
image: btcd:latest
|
||||
security_opt:
|
||||
- apparmor=unconfined
|
||||
cap_add:
|
||||
- SYS_PTRACE
|
||||
command: [
|
||||
"btcd",
|
||||
"./btcd",
|
||||
"--testnet",
|
||||
"--addrindex",
|
||||
"--generate",
|
||||
# "--generate",
|
||||
"--nodnsseed",
|
||||
"--miningaddr=dagtest:qrm4zaetvny2yuh4wudf8y43fd20lunkxs8quragg8",
|
||||
"--rpcuser=user",
|
||||
"--rpcpass=pass",
|
||||
"--rpclisten=0.0.0.0:18334",
|
||||
"--rpccert=docker/rpc.cert",
|
||||
"--rpckey=docker/rpc.key"
|
||||
"--rpccert=/go/src/github.com/daglabs/btcd/docker/rpc.cert",
|
||||
"--rpckey=/go/src/github.com/daglabs/btcd/docker/rpc.key"
|
||||
]
|
||||
ports: ["18334:18334"]
|
||||
|
||||
second:
|
||||
image: 956501169541.dkr.ecr.us-east-1.amazonaws.com/btcd:latest
|
||||
image: btcd:latest
|
||||
links: ["first"]
|
||||
security_opt:
|
||||
- apparmor=unconfined
|
||||
cap_add:
|
||||
- SYS_PTRACE
|
||||
command: [
|
||||
"btcd",
|
||||
"./btcd",
|
||||
"--testnet",
|
||||
"--addrindex",
|
||||
"--connect=first"
|
||||
"--connect=first",
|
||||
"--rpcuser=user",
|
||||
"--rpcpass=pass",
|
||||
"--miningaddr=dagtest:qrm4zaetvny2yuh4wudf8y43fd20lunkxs8quragg8",
|
||||
"--rpclisten=0.0.0.0:18334",
|
||||
"--rpccert=/go/src/github.com/daglabs/btcd/docker/rpc.cert",
|
||||
"--rpckey=/go/src/github.com/daglabs/btcd/docker/rpc.key"
|
||||
]
|
||||
ports: ["18335:18334"]
|
||||
|
||||
second-debug:
|
||||
image: btcd:latest
|
||||
links: ["first"]
|
||||
security_opt:
|
||||
- apparmor=unconfined
|
||||
cap_add:
|
||||
- SYS_PTRACE
|
||||
command: [
|
||||
"dlv",
|
||||
"--listen=:40000",
|
||||
"--api-version=2",
|
||||
"--headless=true",
|
||||
"exec",
|
||||
"./btcd",
|
||||
"--",
|
||||
# here starts btcd parameters
|
||||
"--testnet",
|
||||
"--addrindex",
|
||||
"--connect=first",
|
||||
"--rpcuser=user",
|
||||
"--rpcpass=pass",
|
||||
"--miningaddr=dagtest:qrm4zaetvny2yuh4wudf8y43fd20lunkxs8quragg8",
|
||||
"--rpclisten=0.0.0.0:18334",
|
||||
"--rpccert=/go/src/github.com/daglabs/btcd/docker/rpc.cert",
|
||||
"--rpckey=/go/src/github.com/daglabs/btcd/docker/rpc.key"
|
||||
]
|
||||
ports: ["18335:18334", "40000:40000"]
|
||||
|
39
run-dev.sh
Executable file
39
run-dev.sh
Executable file
@ -0,0 +1,39 @@
|
||||
#!/bin/bash
|
||||
|
||||
# This is a short script that compiles the code inside a docker container, and runs two instances connected to each other
|
||||
# docker defenition is in docker/Dockerfile.dev
|
||||
# instances defenition is in docker/docker-compose.yml
|
||||
|
||||
set -e
|
||||
|
||||
if [[ $* == *--help* ]]
|
||||
then
|
||||
echo "Usage:"
|
||||
echo -e "\t./run-def.sh [--rm] [--debug]"
|
||||
echo ""
|
||||
echo -e "\t--rm\t\tRemove dockers prior to running them, to clear data"
|
||||
echo -e "\t--debug\t\tEnable debugging on second server. Server will not start until debugger is attached"
|
||||
exit
|
||||
fi
|
||||
|
||||
export SERVICE_NAME=btcd
|
||||
export GIT_COMMIT=$(git rev-parse --short=12 HEAD)
|
||||
|
||||
docker build -t "${SERVICE_NAME}:${GIT_COMMIT}" . \
|
||||
-f docker/Dockerfile.dev \
|
||||
|| fatal 'Failed to build the docker image'
|
||||
docker tag "${SERVICE_NAME}:${GIT_COMMIT}" "${SERVICE_NAME}:latest"
|
||||
|
||||
cd docker
|
||||
|
||||
if [[ $* == *--rm* ]]
|
||||
then
|
||||
docker-compose rm -f
|
||||
fi
|
||||
|
||||
if [[ $* == *--debug* ]]
|
||||
then
|
||||
docker-compose up first second-debug
|
||||
else
|
||||
docker-compose up first second
|
||||
fi
|
Loading…
x
Reference in New Issue
Block a user