Golang-debug-for-u4u
1 docker-compose.xml file for photod service
photod:
restart: on-failure
image: gcr.io/u4u-project/photod:photos
cap_add:
- SYS_PTRACE
security_opt:
- seccomp:unconfined
cpu_shares: 768
cpuset: 0-2
env_file: .env
links:
- mongo-photod
- rabbitmq
- redis-photorec
volumes_from:
- wa
ports:
- "40000:40000"
2. New Dockerfile with dlv
FROM gcr.io/u4u-project/golibs:photos
ENV CGO_ENABLED 0
RUN mkdir -p /go/src/worker_manager
WORKDIR /go/src/worker_manager
COPY go/src/worker_manager /go/src/worker_manager
COPY U4U-Project-7df5490b7a38.json /go/src/worker_manager
ENV GOOGLE_APPLICATION_CREDENTIALS=/go/src/worker_manager/U4U-Project-7df5490b7a38.json
#RUN go build -o photod .
RUN go build -gcflags "all=-N -l" -o photod .
#RUN mkdir /var/photos
# Compile Delve
# RUN apk add --no-cache git
RUN go get github.com/derekparker/delve/cmd/dlv
# Port 40000 belongs to Delve
EXPOSE 40000
#CMD /go/src/worker_manager/photod
# Run delve
CMD ["/go/bin/dlv", "--listen=:40000", "--headless=true", "--api-version=2", "--accept-multiclient" ,"exec", "/go/src/worker_manager/photod"]
3. Add GOPATH for project
Example:
/home/airat/PycharmProjects/photod/go