Docker从入门到精通-Dockerfile 构建镜像

简介: Docker从入门到精通-Dockerfile 构建镜像

Dockerfile构建镜像

什么是Dockerfile

dockerfile是一个文本文档,其中包含用于可以在命令行上调用组装镜像的所有命令。也就是说dockerfile是用来构建docker镜像的文件。

构建一个镜像的主要步骤

  1. 编写一个dockerfile文件
  2. docker build 构建成一个镜像
  3. docker run 运行镜像
  4. docker push 发布镜像

为什么要使用Dockerfile

前面也说到了dockerfile使用来构建docker镜像的文件,由于实际运用中面对各种各样的需求,单一功能的镜像肯定是满足不了。就需要在原来的基础上加入各种功能的镜像,然后构建成功能丰富满足目前需求的镜像。如图:

所以说Dockerfile的核心作用就是打包构建我们自己生产运用的镜像。

Dockerfile常用命令

可以参考Docker官方的[Dockefile参考]

# DockerFile常用指令
FROM # 基础镜像,一切从这里开始构建
MAINTAINER # 镜像是谁写的, 姓名+邮箱
RUN # 镜像构建的时候需要运行的命令
ADD # 添加内容 添加同目录
WORKDIR # 镜像的工作目录
VOLUME # 挂载的目录
EXPOSE # 保留端口配置
CMD # 指定这个容器启动的时候要运行的命令,只有最后一个会生效,可被替代。
ENTRYPOINT # 指定这个容器启动的时候要运行的命令,可以追加命令
ONBUILD # 当构建一个被继承 DockerFile 这个时候就会运行ONBUILD的指令,触发指
令。
COPY # 类似ADD,将我们文件拷贝到镜像中
ENV # 构建的时候设置环境变量

实战测试-创建一个自己的centos

通过编写Dockerfile文件来制作我们自己的Centos镜像,在官方给的Centos中没有vim和net-tools。所以我们将vim和net-tools添加上。

  1. 在/home 目录下创建一个dockerfile文件,饭后编写该文件
madir Dockerfile
vim mydockerfile

2.编写dockerfile文件

FROM centos
MAINTAINER cheng<1204598429@qq.com>
ENV MYPATH /usr/local
WORKDIR $MYPATH
RUN yum -y install vim
RUN yum -y install net-tools
EXPOSE 80
CMD echo $MYPATH
CMD echo "-----end----"
CMD /bin/bash
  1. 构建镜像
docker build -f mydockerfile -t mycentos:0.1 .
  1. 最后查看镜像是否构建成功,docker images
目录
相关文章
|
15天前
|
NoSQL Java Linux
《docker高级篇(大厂进阶):2.DockerFile解析》包括:是什么、DockerFile构建过程解析、DockerFile常用保留字指令、案例、小总结
《docker高级篇(大厂进阶):2.DockerFile解析》包括:是什么、DockerFile构建过程解析、DockerFile常用保留字指令、案例、小总结
169 75
|
2天前
|
Ubuntu NoSQL 关系型数据库
《docker基础篇:6.本地镜像发布到私有库》包括本地镜像发布到私有库流程、docker regisry是什么、将本地镜像推送到私有库
《docker基础篇:6.本地镜像发布到私有库》包括本地镜像发布到私有库流程、docker regisry是什么、将本地镜像推送到私有库
53 28
|
1月前
|
Docker 容器
将本地的应用程序打包成Docker镜像
将本地的应用程序打包成Docker镜像
|
21天前
|
Ubuntu 应用服务中间件 nginx
docker入门-快速学会docker
本文介绍了Docker的基本概念,包括镜像、容器、tar文件、Dockerfile和仓库,并通过实际操作演示了如何使用Docker。从拉取Nginx镜像、运行容器、修改容器内容、保存容器为新镜像,到使用Dockerfile构建自定义镜像,最后讲解了如何保存和恢复镜像。文中还推荐了一个在线实践平台Play with Docker,方便读者快速上手Docker。
79 5
docker入门-快速学会docker
|
21天前
|
NoSQL PHP MongoDB
docker push推送自己搭建的镜像
本文详细介绍了如何搭建和复盘两个Web安全挑战环境:人力资源管理系统和邮件管理系统。首先,通过Docker搭建MongoDB和PHP环境,模拟人力资源管理系统的漏洞,包括nosql注入和文件写入等。接着,复盘了如何利用这些漏洞获取flag。邮件管理系统部分,通过目录遍历、文件恢复和字符串比较等技术,逐步绕过验证并最终获取flag。文章提供了详细的步骤和代码示例,适合安全研究人员学习和实践。
44 3
docker push推送自己搭建的镜像
|
25天前
|
Docker 容器
|
3月前
|
Oracle 关系型数据库 Linux
Docker入门和安装
这篇文章提供了Docker的入门指南和在CentOS系统上安装Docker的详细步骤。
51 0
Docker入门和安装
|
Docker 索引 容器
Docker从入门到精通——安装Docker
Docker从入门到精通——安装Docker
79 0
|
8月前
|
关系型数据库 MySQL 应用服务中间件
Docker 从入门,安装、配置、及部署
Docker 从入门,安装、配置、及部署
256 1
|
存储 Cloud Native 关系型数据库
【云原生 · Docker】入门篇:安装、镜像加速
【云原生 · Docker】入门篇:安装、镜像加速
695 0

热门文章

最新文章