当前位置: 首页 > news >正文

Docker学习之构建Base Image

构建Base Image

目标是构建一个类似官方Hello world的镜像,需要配置好Docker运行环境。

创建目录,编写代码

创建并进入docker目录。

mkdir docker
cd docker
touch hello.cvim hello.c

hello.c文件的内容如下:

#include <stdio.h>int main() {printf("Hello, World!\n");return 0;
}

编译hello.c源文件

编译hello.c源文件,生成可执行程序hello

 gcc -static hello.c -o hello

编写Dockerfile

Dockerfile内容如下:

#制作基础镜像
from  scratch   #将可执行文件添加到根目录下
ADD hello /  #执行根目录下的hello程序
CMD ["/hello"]

编译Dockerfile

编译Dockerfile生成镜像,同时指定镜像的名称为myhelloworld

 docker build -t myhelloworld .

运行

通过下面的命令运行容器,会输出hello world。

 docker run myhelloworld
http://www.lryc.cn/news/116167.html

相关文章:

  • SFM(Structure from Motion)和NeRF(Neural Radiance Fields)
  • [Vue] Vue2和Vue3的生命周期函数
  • springboot集成分布式任务调度系统xxl-job(调度器和执行器)
  • 11_Vue3中的新的组件
  • 详解推送Git分支时发生的 cannot lock ref 错误
  • [国产MCU]-BL602开发实例-PWM
  • 【JMeter】 使用Synchronizing Timer设置请求集合点,实现绝对并发
  • 无法对watchdog.sys等系统文件删除,弯道修复,这里解决办法很简单
  • ClickHouse(九):Clickhouse表引擎 - Log系列表引擎
  • 3.1 计算机网络和网络设备
  • 值得中国人民大学与加拿大女王大学金融硕士中的金融人观看的五部电影
  • 【数据库】Redis可以替代Mysql吗
  • 5 指针与多维数组:多维数组在内存中的存储与指针的关系
  • Spring 创建 Bean 的三种方式
  • 软工导论知识框架(五)面向对象方法学
  • MyBatisPlus代码生成器
  • 文件传输软件常见问题解决办法大全
  • springboot工程测试临时数据修改技巧
  • Echarts 清空画布空白以及鼠标悬浮提示信息格式化问题
  • 数据结构入门:栈
  • 《UNUX环境高级编程》(14)高级I/O
  • 第5讲:如何构建类的方法
  • 【TypeScript】TS接口interface类型(三)
  • Python web实战之Django 的 RESTful API 设计详解
  • Python 程序设计入门(014)—— Python 的 Lambda 函数(匿名函数)
  • 【MySQL系列】表约束的学习
  • 低功耗LoRaWAN国产低功耗LoRa+RF射频前端芯片XD6500S
  • 【基础IO】文件系统 {磁盘的物理结构,存储结构,逻辑结构;CHS 和 LBA 寻址方式;磁盘分区和块组;文件inode;软硬链接}
  • 全角字符和半角字符
  • 【java】【经验】java: 错误: 不支持发行版本 6