goreplay icon indicating copy to clipboard operation
goreplay copied to clipboard

Docker with GoReplay on Mac M1 get "exec ./gor: exec format error"

Open mosheeshel opened this issue 2 years ago • 2 comments

Trying to create a docker-compose harness to run goreplay locally this is the dockerfile

FROM alpine:3.16 as builder

ARG RELEASE_VERSION=1.3.3

RUN apk add --no-cache ca-certificates openssl
RUN wget https://github.com/buger/goreplay/releases/download/${RELEASE_VERSION}/gor_${RELEASE_VERSION}_mac.tar.gz -O gor.tar.gz
RUN tar xzf gor.tar.gz
RUN chmod 775 gor

ENTRYPOINT ["./gor"]

This is the docker-compose.yml

version: '3.8'
services:
#..... more services, not important
  golistener:
    network_mode: "host"
    build: ./goreplay

    stdin_open: true
    platform: linux/amd64
    entrypoint:
      - './gor'
      - '--input-raw=:8080'
      - '--output-stdout'

I build this with docker-compose --verbose up --build

My buildX configuration uses --platform linux/amd64 I also tried using the x86_64 and x64 - then I get the error: 2023/05/22 15:16:01 tunl0: SIOCETHTOOL(ETHTOOL_GLINK) ioctl failed: Function not implemented

another thing I tried was to run it as an application on the terminal directly (no Docker) - this works just fine, but I need it in a docker - any ideas?

mosheeshel avatar May 22 '23 15:05 mosheeshel

Hi! To be frank it works find on mac using standard binaries. Docker on M1 is a tricky one...

buger avatar May 25 '23 15:05 buger

@buger Yes, I tested the Mac build on my M1 and it indeed works fine. If you have any tips on a docker version with M1, I'd love to hear... Having known GoReplay when it was simply Gor :-) about 10 years ago, I am constantly amazed by your work! so thanks!

mosheeshel avatar May 29 '23 08:05 mosheeshel