内容: 记录如何把你的程序制作成docker镜像
实验准备:
sudo docker pull gcc
先准备好的你程序:
//比如:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
int main()
{
FILE * file = fopen("t.txt","w+");
if (file == NULL)
{
return -1;
}
char buf[20] = "hello world!\n";
int len = strlen(buf);
while (1)
{
fputs(buf,file);
fflush(file);
sleep(1);
}
fclose(file);
return 0;
}
开始准备dockerfile:
FROM gcc:latest
RUN mkdir /usr/src/myapp
COPY test.c /usr/src/myapp
WORKDIR /usr/src/myapp
RUN gcc test.c
CMD ["./a.out"]
制作镜像:
[luzejia@luzejia ~]$ sudo docker build -t mygcc-test:v1 .
等待制作完成:
Sending build context to Docker daemon 96.48MB
Step 1/6 : FROM gcc:latest
---> bc5ad1c431b4
Step 2/6 : RUN mkdir /usr/src/myapp
---> Running in cbc5d23dd08d
Removing intermediate container cbc5d23dd08d
---> c033fe776d83
Step 3/6 : COPY test.c /usr/src/myapp
---> 2c2f4a064788
Step 4/6 : WORKDIR /usr/src/myapp
---> Running in e9bf6134278a
Removing intermediate container e9bf6134278a
---> da1261d8ec19
Step 5/6 : RUN gcc test.c
---> Running in 35f01fb7c89e
Removing intermediate container 35f01fb7c89e
---> 5bf10667cd41
Step 6/6 : CMD ["./a.out"]
---> Running in d0973574bc98
Removing intermediate container d0973574bc98
---> 936265ffbeb7
Successfully built 936265ffbeb7
Successfully tagged mygcc-test:v1
查看是否生成镜像:
[luzejia@luzejia ~]$ sudo docker images
结果:可以看到我们的mygcc-test被制作出来了
REPOSITORY TAG IMAGE ID CREATED SIZE
mygcc-test v1 936265ffbeb7 25 seconds ago 1.19GB
gcc latest bc5ad1c431b4 13 days ago 1.19GB
registry.aliyuncs.com/google_containers/kube-proxy v1.15.0 d235b23c3570 12 months ago 82.4MB
registry.aliyuncs.com/google_containers/kube-apiserver v1.15.0 201c7a840312 12 months ago 207MB
registry.aliyuncs.com/google_containers/kube-controller-manager v1.15.0 8328bb49b652 12 months ago 159MB
registry.aliyuncs.com/google_containers/kube-scheduler v1.15.0 2d3813851e87 12 months ago 81.1MB
quay.io/coreos/flannel v0.11.0-amd64 ff281650a721 17 months ago 52.6MB
lizhenliang/flannel v0.11.0-amd64 ff281650a721 17 months ago 52.6MB
registry.aliyuncs.com/google_containers/coredns 1.3.1 eb516548c180 17 months ago 40.3MB
registry.aliyuncs.com/google_containers/etcd 3.3.10 2c4adeb21b4f 19 months ago 258MB
registry.aliyuncs.com/google_containers/pause 3.1 da86e6ba6ca1 2 years ago 742kB