Problem creating docker container for arm64


I've created a docker image for filebeat for arm64 arch. This is what my simplistic docker file looks like

    FROM golang:1.15.10

    RUN \
    apt-get update \
      && apt-get install -y --no-install-recommends \
         libsystemd-dev \
         netcat \
         rsync \
         python \
         python-pip \
         python3 \
         python3-pip \
         python3-venv \
         libpcap-dev \
      && rm -rf /var/lib/apt/lists/*

    RUN cd /
    RUN wget
    RUN dpkg -i filebeat-7.9.0-arm64.deb

It builds ok but when I run it up I get this error

Error: failed to create containerd task: OCI runtime create failed: container_linux.go:370: starting container process caused: exec: "-c": executable file not found in $PATH: unknown

(For info this is inside of microk8s, but may or may not be relevant.)

Have I missed a step in the docker file? Can anyone point me to a simple docker file that would successfully do what I am trying to do here?


The official docker images are built in a bit of complex way but you can take a look at beats/dev-tools/packaging/templates/docker at b046e085996a152abb5835fb09193c2792f10b46 · elastic/beats · GitHub.

Can you share how you start the container? Can you start it with a simple bash entry-point command and explore what there is inside?