sh: ./bc2influx: не найден при входе в остановленный контейнер - PullRequest
0 голосов
/ 06 июня 2019

У меня проблема при запуске док-контейнера.

➜  bc_to_influx git:(master) ✗ docker run registry.gitlab.com/xxx/bc_to_influx:latest
standard_init_linux.go:207: exec user process caused "no such file or directory"

Когда я отлаживаю, я ввожу в остановленный контейнер:

docker commit 0db73216baaf  user/test_image 
docker run -ti --entrypoint=sh user/test_image

на ls команда, я могу только мой исполняемый файл:

/bc2influx # ls -al
total 20552
drwxr-xr-x    1 root     root          4096 Jun  6 10:32 .
drwxr-xr-x    1 root     root          4096 Jun  6 11:53 ..
-rwxr-xr-x    1 root     root      21034520 Jun  6 10:29 bc2influx
/bc2influx # 

но когда я пытаюсь выполнить, я получаю:

/bc2influx # ./bc2influx 
sh: ./bc2influx: not found

Я могу vi, кот выполнить, но не выполнить

вот мой Dockerfile

FROM alpine

WORKDIR /bc2influx/
COPY ./release/bc2influx /bc2influx/
RUN ls -al /bc2influx/
CMD [ "./bc2influx" ]

Ранее я создавал свой исполняемый файл с помощью:

go build -o ./release/bc2influx -v -ldflags '-extldflags "-static"' ./...

Есть идеи, что происходит?

1 Ответ

1 голос
/ 06 июня 2019

Похоже, musl проблема с библиотекой, попробуйте эту команду сборки go build -ldflags="-s -w".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...