Dockerfile构建私有镜像

本文详细介绍了如何使用Dockerfile构建私有镜像,包括FROM指定基础镜像、RUN执行命令、COPY和ADD复制文件、CMD和ENTRYPOINT设置启动命令等关键指令。通过示例展示了如何创建和运行基于Dockerfile的镜像,以及各种指令的使用场景和注意事项。
摘要由CSDN通过智能技术生成

构建第一个镜像

镜像的定制实际上就是定制每一层所添加的配置,文件。我们可以把每一层修改,安装,构建,操作的命令都写入一个脚本,这个脚本就是Dockerfile。
Dockerfile是一个文本文件,其内包含了一条条的指令,每一条指令构建一层,因此每一条指令的内容就是该层因该如何构建。
接下来我们以官方nginx镜像为例,使用Dockerfile来定制镜像。
在一个空白的目录中,建立一个文本文件,并将文件命名为Dockerfile:

mkdir mynginx
cd mynginx
touch Dockerfile

在Dockerfile文件中写入以下内容:

FROM nginx
RUN echo '<h1>Hello Docker!</h1>' > /usr/share/nginx/html/index.html

使用docker build命令创建镜像

docker build -t mynginx:1.0 .

运行docker run命令,既可以运行构建好的mynginx镜像,通过浏览器 http://ip:8080 即可访问nginx服务

docker run -d -p 8080:80 mynginx:1.0

img

Dockerfile构建命令

FROM 指定基础镜像

所谓定制镜像,一定是以一个镜像为基础,在其上进行定制。基础镜像是必须指定的,而FROM指令就是指定基础镜像,因此一个Dockerfile中FROM是必需的,并且一定是第一条指令。
在Docker Hub上有许多高质量的官方镜像,如nginx,redis,mysql,tomcat,centos,ubuntu等,可以在其中找到一个符合我们要求的镜像为基础镜像进行定制。
除了选择现有的镜像为基础外,Docker还存在一个特殊的镜像,名为scratch。这个镜像是虚拟的概念,并不实际存在,它表示一个空白的镜像。
如果以scratch镜像为基础镜像的话,意味着不以任何镜像为基础,接下来所写的指令将作为镜像的第一层开始存在。
对于Linux下静态编译程序来说,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值