重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
在本章节中将和大家讲解:Dockerfile的第二部分:
在龙安等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站设计制作、成都做网站 网站设计制作按需设计,公司网站建设,企业网站建设,成都品牌网站建设,全网营销推广,成都外贸网站建设,龙安网站建设费用合理。
Dockerfile
FROM 指令
主要作用是指定一个镜像作为构建自定义镜像的基础镜像,在这个基础镜像之上进行修改定制。
这个指令是 Dockerfile 中的必备指令,同时也必须是第一条指令。
在 Docker Store 上有很多高质量的官方镜像,可以直接作为我们的基础镜像。
作为服务类的,如 Nginx Mongo 等
用于开发的, 如 Python golang
操作系统类, 如 Centos ubuntu
除了一些现有的镜像,Docker 还有一个特殊的镜像 scratch
这个镜像是虚拟的,表示空白镜像
FORM scratch
这以为着这将不以任何镜像为基础镜像。
可以把可执行的二进制文件复制到镜像中直接执行,容器本身就是和宿主机共享 Linux内核的。
使用 Go 语言开发的应用很多会使用这种方式来制作镜像,这也是为什么有人认为 Go 是特别适合容器微服务架构的语言的原因之一。
插个小消息,也方便想学习的同学,在文章下方留言即可试听课程外加领取千锋HTML5、UI交互设计、PHP、Java+云数据、大数据开发、VR/AR/Unity游戏开发、Python人工智能、Linux云计算、全栈软件测试、网络安全等全部的视频学习教程。
制作自己的 Hello world
[root@localhost hello_qf]# rpm -qa gcc glibc-static
glibc-static-2.17-222.el7.x86_64
gcc-4.8.5-11.el7.x86_64
没有的话,进行安装即可
[root@localhost hello_qf]# yum install gcc glibc-static
[root@localhost docker]# cat hello.c
#include
int main()
{
printf("Hello, Yangge! \n");
return 0;
}
[root@localhost hello_qf]# gcc --static hello.c -o hello
编译好后,测试一下
[root@localhost hello_qf]# ls
hello hello.c
# hello 是我们编译好的二进制文件
# hello.c 是 C 的源码文件
[root@localhost hello_qf]# ./hello
Hello Yangge # 输出结果,说明编译成功
编辑
在有 hello 二进制的文件目录下,编译 Dockerfile 文件,内容如下:
[root@localhost hello_qf]# ls
Dockerfile hello hello.c
[root@localhost hello_qf]# cat Dockerfile
FROM scratch
ADD hello /
CMD ["/hello"]