【发布时间】:2020-10-11 19:24:39
【问题描述】:
我长期以来在 MacOS 上构建容器的 Dockerfile 在 Linux(Ubuntu 18.04)上执行构建时无法创建可行的容器。映像构建,但随后 k8s 无法启动容器。错误日志显示“/bin/sh: ./dgs: not found”。尝试了很多排列,但似乎容器内的环境发生了某种变化。我什至可以输入 ls -la 并查看 stdout 中列出的可执行文件,但 CMD 看不到它。
构建文件夹:
drwxrwxr-x 2 user1 user1 4096 Jun 21 16:26 .
drwxr-xr-x 6 user1 user1 4096 Jun 21 16:19 ..
-rw-r--r-- 1 user1 user1 257867 Jun 21 16:20 ca-certificates.crt
-rwxr-xr-x 1 user1 user1 15826392 Jun 21 16:40 dgs
-rw-rw-r-- 1 user1 user1 151 Jun 21 16:59 Dockerfile
Dockerfile:
FROM alpine:3.6
COPY ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
WORKDIR /home
COPY ./dgs dgs
RUN ls -la
EXPOSE 8090
CMD ./dgs
码头工人版本:
Client:
Version: 18.09.1
API version: 1.39
Go version: go1.10.6
Git commit: 4c52b90
Built: Wed Jan 9 19:35:23 2019
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 18.09.1
API version: 1.39 (minimum version 1.12)
Go version: go1.10.6
Git commit: 4c52b90
Built: Wed Jan 9 19:02:44 2019
OS/Arch: linux/amd64
Experimental: false
【问题讨论】:
-
也许您应该更改 Dockerfile 的 COPY 层。小心点。试试这个
./dgs ./dgs -
感谢您的建议。唉,容器因以下错误而终止:
/bin/sh: ./dgs: not found
标签: linux docker build dockerfile