九步构建自己的hello world Docker镜像

简介: Docker镜像构建是通过Dockerfile来构建的,里面运行的程序是可以自定的,从编写程序到安装Docker镜像,可以一气呵成。接下来我们就通过九步实现一个自定义的镜像的制作、构建及运行。

构建 Docker 镜像

Docker镜像构建是通过 Dockerfile来构建的,里面运行的程序是可以自定的,从编写程序到安装Docker镜像,可以一气呵成。接下来我们就通过九步实现一个自定义的镜像的制作、构建及运行。

编写在Docker中要运行的程序

该部分主要是镜像中程序的编写及编译

1. 创建目录

# 创建应用程序目录
mkdir hello-docker
# 进入该目录
cd hello-docker

2. 编写程序

vim hello.c

3. 源码

#include<stdio.h>
Int main (){
    Printf("hello docker\n");
}

4. 编译

将编写的c程序编译在hello-docker根目录

gcc --static hello.c -o hello

Dockerfile文件编写

5. 在hello-docker文件夹下新建Dockerfile文件

vim Dockerfile

6. 编写Dockerfile中的内容

FROM scatch
ADD hello /
RUN yun update
CMD ["/hello"]

注: FROM:从哪构建镜像,是基础镜像的地址或者名称;ADD: 添加文件到镜像执行位置,如上是根目录;RUN: 镜像的操作指令;CMD: 容器启动时执行指令

编译及运行

7. 在hello-docker 根目录编译镜像

docker build -t guzhongren/test .

8. 编译完成后,在命令行中查看镜像是否存在

docker images

9. 运行镜像

docker run guzhongren/test

总结

知其然,知其所以然。

目录
相关文章
|
6月前
|
人工智能 前端开发 Docker
从本地到云端:用 Docker Compose 与 Offload 构建可扩展 AI 智能体
在 AI 智能体开发中,开发者常面临本地调试与云端部署的矛盾。本文介绍如何通过 Docker Compose 与 Docker Offload 解决这一难题,实现从本地快速迭代到云端高效扩容的全流程。内容涵盖多服务协同、容器化配置、GPU 支持及实战案例,助你构建高效、一致的 AI 智能体开发环境。
596 2
从本地到云端:用 Docker Compose 与 Offload 构建可扩展 AI 智能体
|
6月前
|
JavaScript Docker 容器
使用Docker多阶段构建优化镜像大小
使用Docker多阶段构建优化镜像大小
480 100
|
6月前
|
缓存 安全 Linux
优化Docker镜像大小的多阶段构建实践
优化Docker镜像大小的多阶段构建实践
446 99
|
6月前
|
缓存 Docker 容器
优化Docker镜像大小的五个实用技巧
优化Docker镜像大小的五个实用技巧
605 98
|
6月前
|
安全 Go Docker
使用Docker多阶段构建优化镜像大小
使用Docker多阶段构建优化镜像大小
|
5月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
693 6
|
6月前
|
Java Docker 容器
使用Docker多阶段构建优化镜像大小
使用Docker多阶段构建优化镜像大小
288 8

热门文章

最新文章