【博客319】如何把程序制作成docker镜像

内容: 记录如何把你的程序制作成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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值