温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

千锋Linux云计算教程全套视频合集:Dockerfile详解(二)

发布时间:2020-08-10 18:56:05 来源:ITPUB博客 阅读:211 作者:千锋云计算 栏目:云计算

在本章节中将和大家讲解:Dockerfile的第二部分:

千锋Linux云计算教程全套视频合集:Dockerfile详解(二)

Dockerfile

FROM 指令

主要作用是指定一个镜像作为构建自定义镜像的基础镜像,在这个基础镜像之上进行修改定制。

这个指令是 Dockerfile 中的必备指令,同时也必须是第一条指令。

在 Docker Store 上有很多高质量的官方镜像,可以直接作为我们的基础镜像。

作为服务类的,如 Nginx Mongo 等

用于开发的, 如 Python golang

操作系统类, 如 Centos ubuntu

除了一些现有的镜像,Docker 还有一个特殊的镜像 scratch

这个镜像是虚拟的,表示空白镜像

FORM scratch

这以为着这将不以任何镜像为基础镜像。

可以把可执行的二进制文件复制到镜像中直接执行,容器本身就是和宿主机共享 Linux内核的。

使用 Go 语言开发的应用很多会使用这种方式来制作镜像,这也是为什么有人认为 Go 是特别适合容器微服务架构的语言的原因之一。

千锋Linux云计算教程全套视频合集:Dockerfile详解(二)

插个小消息,也方便想学习的同学,在文章下方留言即可试听课程外加领取千锋HTML5、UI交互设计、PHP、Java+云数据、大数据开发、VR/AR/Unity游戏开发、Python人工智能、Linux云计算、全栈软件测试、网络安全等全部的视频学习教程。

制作自己的 Hello world

  1. 在任意一台 Linux 机器上,安装 gcc
  2. 查看有没有安装

[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

  1. 编辑 C 源代码文件

[root@localhost docker]# cat hello.c

#include <stdio.h>

int main()

{

printf("Hello, Yangge! \n");

return 0;

}

  1. 将源代码文件编译为可执行的二进制文件

[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 # 输出结果,说明编译成功

编辑

千锋Linux云计算教程全套视频合集:Dockerfile详解(二)

  1. 编辑 Dockerfile

在有 hello 二进制的文件目录下,编译 Dockerfile 文件,内容如下:

[root@localhost hello_qf]# ls

Dockerfile hello hello.c

[root@localhost hello_qf]# cat Dockerfile

FROM scratch

ADD hello /

CMD ["/hello"]

  • ADD 是把当前目录下的 hello 文档拷贝到 容器中的根目录下
  • CMD 执行根目录下的 hello 文件
  • 构建新的镜像
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI