我尝试构建一个“helloworld”c程序进行映像,但是在使用cmd RUN apt-get update & apt-get -y install gcc
解析sudo docker build .
时发生了构建错误
Dockerfile
非常简单:
FROM ubuntu:16.04
COPY hd* ./
RUN apt-get update & apt-get -y install gcc
RUN gcc ./hd.c -o hellodocker
ENTRYPOINT ./hellodocker
工作人员dir:
$ ls -al
total 32
drwxr-xr-x 2 root root 4096 Sep 6 02:42 .
drwxr-xr-x 7 root root 4096 Sep 5 23:12 ..
-rw-r--r-- 1 root root 386 Sep 6 02:38 Dockerfile
-rw-r--r-- 1 root root 81 Sep 6 01:35 hd.c
hd.c是:
$ cat hd.c
#include <stdio.h>
int main(int argc, char **argv) { printf("hello docker\n"); }
使用sudo docker build .
时遇到错误:
$ sudo docker build .
Sending build context to Docker daemon 13.31 kB
Step 1 : FROM ubuntu:16.04
---> bd3d4369aebc
Step 2 : COPY hd* ./
---> Using cache
---> 348a98d816f0
Step 3 : RUN apt-get update & apt-get -y install gcc
---> Running in 205cd4de149c
Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package gcc
The command '/bin/sh -c apt-get update & apt-get -y install gcc' returned a non-zero code: 100
提示非常粗糙,有人知道它是什么问题吗?感谢
答案 0 :(得分:2)
您应该使用apt-get update && apt-get -y install gcc
和双倍'&amp;'
答案 1 :(得分:2)
单个&符号将对任务进行后台处理,这意味着install
在update
完成之前正在运行。
apt-get update & apt-get -y install gcc
您想要&&
apt-get update && apt-get -y install gcc