2016-09-06 338 views
0

我試圖建立一個「HelloWorld」的C程序中的圖像,但sudo docker build .
Dockerfile是因爲這很簡單解析RUN apt-get update & apt-get -y install gcc時發生生成錯誤與CMD:Dockerfile建立自己的錯誤時,使用apt-get安裝gcc

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 

的技巧很粗糙,沒有人知道它是什麼回事?由於

回答

2

單個符號的意志後臺任務,這意味着update結束前,install運行。

apt-get update & apt-get -y install gcc 

你想&&

apt-get update && apt-get -y install gcc 
+0

哦,MGD.I應該編程之前,有一個良好的睡眠。 – LoranceChen

2

你應該使用apt-get update && apt-get -y install gcc雙「&」