『中级篇』手动建立一个base Image(14)

这篇文章主要介绍了Docker Base Image创建具体实现的相关资料,这里提供了详细的具体步骤,需要的朋友可以参考下github:https://github.com/limingios/docker.git

如何制作一个base Image

base Image 之前讲过2种方式一种是通过pull docker官网获得,另一种是通过build的方式来获得。自己制作肯定是通过base Image的方式。

  • 通过pull的方式
docker pull hello-world
docker image ls
docker run hello-world
  • 通过build的方式 1.创建文件
mkdir hello-world
 cd hello-world/
 vim hello.c

2.编辑c文件

#include<stdio.h>
int main()
{
        printf("hello docker  微信公众号:编程坑太多\n");
}

3.编译程序gcc

sudo yum install -y gcc
sudo yum install -y glibc-static
 gcc -static hello.c -o hello

4.创建编辑Dockerfile

vim Dockfile
FROM scratch
ADD hello /
CMD ["/hello"]
docker build -t liming/hello .
#查看分层layer
   docker history a4cb86cc8d6b

5.运行Image

docker run liming/hello
docker container ls -a

PS:hello.c 因为是c语言写的,我们把它打成一个Image,Image里面其实就是一个可以执行的文件,它其实依赖宿主机kernel,它虽然比较小,但是也能反映docker的架构,后面我们会使用mysql,nginx,tomcat其实他们的原理跟今天做的baseImage 里面的hello 程序是一样的。

原文发布于微信公众号 - 编程坑太多(idig88)

原文发表时间:2018-06-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算教程系列

如何在Ubuntu 18.04上测试与分子的可靠角色

Ansible中的单元测试是确保角色按预期运行的关键。通过允许您指定针对不同环境测试角色的方案,Molecule使此过程更容易。使用Ansible,Molecu...

1011
来自专栏jmeter高手高高手

容器化的Apache服务并监控

sudo docker run -d --name ubuntu -p 80:80 ubuntu:16.04

1093
来自专栏SDNLAB

SSL及Nginx代理搭建环境的Docker仓库

使用私有仓库有许多优点:节省网络带宽,针对于每个镜像不用每个人都去中央仓库上面去下载,只需要从私有仓库中下载即可;提供镜像资源利用,针对于公司内部使用的镜像,推...

4126
来自专栏Deep Learning 笔记

从TensorFlow的安装开始

pip install --ignore-installed --upgrade tensorflow

1565
来自专栏智能合约

Phalcon入门教程之目录结构

1043
来自专栏有困难要上,没有困难创造困难也要上!

使用 Anaconda 管理 Python 环境

3376
来自专栏建站达人秀

如何搭建 Ghost 博客

Ghost是一个轻量级(~7.5MB)的开源博客平台,非常易于使用。Ghost是完全可定制的。互联网上有很多可供Ghost使用的免费或付费的主题。

2632
来自专栏魏艾斯博客www.vpsss.net

军哥 LNMP 1.5 测试版发布

2393
来自专栏破晓之歌

一行命令搭建简易静态文件http服务器 转

简易服务器:在命令执行的所在路径启动一个http服务器,然后你可以通过浏览器访问该路径下的所有文件。

1243
来自专栏云计算教程系列

如何用Molecule测试Ansible角色

Ansible中的单元测试是确保角色按预期运行的关键。通过允许您指定针对不同环境测试角色的方案,Molecule使此过程更容易。使用Ansible,Molecu...

3594

扫码关注云+社区