九步构建自己的hello world 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
总结
知其然,知其所以然。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
volume 方式使用 Secret - 每天5分钟玩转 Docker 容器技术(157)
Pod 可以通过 Volume 或者环境变量的方式使用 Secret,今天先学习 Volume 方式。 Pod 的配置文件如下所示: ① 定义 volumefoo,来源为 secretmysecret。 ② 将foomount 到容器路径/etc/foo,可指定读写权限为readOnly。 创建 Pod 并在容器中读取 Secret: 可以看到,Kubernetes 会在指定的路径/etc/foo下为每条敏感数据创建一个文件,文件名就是数据条目的 Key,这里是/etc/foo/username和/etc/foo/password,Value 则以明文存放在文件中。 我们也可以自定义存放数据的文件名,比如将配置文件改为: 这时数据将分别存放在/etc/foo/my-group/my-username和/etc/foo/my-group/my-password中。 以 Volume 方式使用的 Secret 支持动态更新:Secret 更新后,容器中的数据也会更新。 将 password 更新为abcdef,base64 编码为YWJjZGVm 更新 Secret。 几秒钟或,新的 pa...
- 下一篇
docker 简单私有仓库搭建
概述 虽然说使用公共的镜像仓库很方便,但是还是有一些不好的地方,比如网速的问题,dockerhub在中国是很慢的,还有就是上传到dockerhub上的镜像是所有人都可以访问的,如果我们想要一个速度快,而且不想给别人访问的仓库那么就需要自己搭建了,首先介绍一下我搭建仓库的本地环境,其实很简单,就是一台云服务器,一台树莓派,云服务器用来当仓库。 搭建仓库 搭建其实很简单,没有什么是一个镜像做不到的,如果不能,那就两个,搭建仓库最简单的做法,就是在dockerhub上pull下官方的仓库镜像 进行搭建就好了。你们可以在dockerhub上搜索registry,第一个就是,pull到本地就好,详细的使用指南,上面也有,如果觉得pull的速度太慢,那么可以使用阿里云大的镜像加速器docker pull registry为什么我使用云服务器当仓库呢,因为这个镜像是不支持arm架构的接着创建一个目录用来存放上传过来的镜像mkdir myregistry之后使用下面命令来启动这个镜像docker run -d -p 5000:5000 -v /root/myregistry:/var/lib/regi...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS6,CentOS7官方镜像安装Oracle11G
- Windows10,CentOS7,CentOS8安装Nodejs环境
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS关闭SELinux安全模块
- CentOS8安装Docker,最新的服务器搭配容器使用
- Docker快速安装Oracle11G,搭建oracle11g学习环境