通过Dockerfile制作docker镜像

简介: 通过Dockerfile制作docker镜像

前言


因为需要在k8s里用docker跑一些定时任务, 所以顺便写一下制作docker镜像的基本流程


准备工作


首先肯定是要先设置docker加速了, 毕竟使用官方的太慢了(疯狂吐槽), 阿里云地址可以在 https://cr.console.aliyun.com 获取自己的镜像加速器地址, 获取之后打开docker配置复制里面就可以了, 阿里云下面也有各个操作系统的配置方法


image.png


开始操作


工作目录


首先建个文件夹, 然后随便写个print测试用例, 就在docker里面跑这个文件了

不要对time.sleep产生误解, 我这跑的是个脚本不是服务, 脚本完成后容器就关闭了

20190628164037481.png

Dockerfile编写

# 编写Dockerfile
# 设置基础镜像 这里我选择了python3.6版本的镜像
FROM python:3.6
# 作者描述信息
LABEL maintainer="xiaofei"
# copy当前目录的文件到镜像里面的 /xiaofei(自己的工作目录)目录下
COPY . /xiaofei
# 指定路径
WORKDIR /app/
# 执行命令  这里给test.py增加执行权限
RUN ["chmod", "+x", "/xiaofei/test.py"]
# 容器入口, 执行命令
CMD ["python3.6", "/xiaofei/test.py"]
# 如果需要执行较多命令的话可以写个shell脚本, 然后通过执行shell来调用
# CMD ["sh","-c","/xiaofei/cron.sh"]
# 制作docker镜像  后面替换称自己的镜像仓库地址
# docker build  -t  xiaofei/test:v1.0 .
# 如果有自己的镜像仓库的话制作完测无误就提交就ok了
# docker push xiaofei/test:v1.0


打包镜像


打包命令我写在Dockerfile最下面了, 直接复制就行, 记住docker打包一定要在Dockerfile当前目录, 记住docker打包一定要在Dockerfile当前目录, 记住docker打包一定要在Dockerfile当前目录(三遍)


image.png

这样就打包成功了, 然后调用docker images 命令查看镜像并启动

20190628170256178.png

20190628170316868.png

这样就ok了, 是不是很简单

最后附上Dockerfile指令详解 https://yq.aliyun.com/articles/652685

目录
相关文章
|
22天前
|
Docker 容器
将本地的应用程序打包成Docker镜像
将本地的应用程序打包成Docker镜像
|
6天前
|
NoSQL PHP MongoDB
docker push推送自己搭建的镜像
本文详细介绍了如何搭建和复盘两个Web安全挑战环境:人力资源管理系统和邮件管理系统。首先,通过Docker搭建MongoDB和PHP环境,模拟人力资源管理系统的漏洞,包括nosql注入和文件写入等。接着,复盘了如何利用这些漏洞获取flag。邮件管理系统部分,通过目录遍历、文件恢复和字符串比较等技术,逐步绕过验证并最终获取flag。文章提供了详细的步骤和代码示例,适合安全研究人员学习和实践。
24 3
docker push推送自己搭建的镜像
|
1月前
|
Java 应用服务中间件 Linux
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
本文主要讲解了Docker的安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库以及Docker容器虚拟化与传统虚拟机比较。
615 11
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
|
22天前
|
数据库 Docker 容器
Docker在现代软件开发中扮演着重要角色,通过Dockerfile自动化构建Docker镜像,实现高效、可重复的构建过程。
Docker在现代软件开发中扮演着重要角色,通过Dockerfile自动化构建Docker镜像,实现高效、可重复的构建过程。Dockerfile定义了构建镜像所需的所有指令,包括基础镜像选择、软件安装、文件复制等,极大提高了开发和部署的灵活性与一致性。掌握Dockerfile的编写,对于提升软件开发效率和环境管理具有重要意义。
42 9
|
1月前
|
缓存 Linux 网络安全
docker的镜像无法下载如何解决?
【10月更文挑战第31天】docker的镜像无法下载如何解决?
1848 30
|
22天前
|
存储 缓存 运维
Docker镜像采用分层存储,每层代表镜像的一部分,如基础组件或应用依赖,多层叠加构成完整镜像
Docker镜像采用分层存储,每层代表镜像的一部分,如基础组件或应用依赖,多层叠加构成完整镜像。此机制减少存储占用,提高构建和传输效率。Docker还通过缓存机制提升构建和运行效率,减少重复工作。文章深入解析了Docker镜像分层存储与缓存机制,包括具体实现、管理优化及实际应用案例,帮助读者全面理解其优势与挑战。
43 4
|
1月前
|
存储 关系型数据库 Linux
【赵渝强老师】什么是Docker的镜像
Docker镜像是一个只读模板,包含应用程序及其运行所需的依赖环境。镜像采用分层文件系统,每次修改都会以读写层形式添加到原只读模板上。内核bootfs用于加载Linux内核,根镜像相当于操作系统,上方为应用层。镜像在物理存储上是一系列文件的集合,默认存储路径为“/var/lib/docker”。
|
1月前
|
应用服务中间件 PHP nginx
Docker-compose 编排lnmp(dockerfile) 完成Wordpress
通过使用Docker Compose,我们可以轻松编排LNMP环境并部署WordPress。本文详细介绍了各组件的Dockerfile和配置文件编写,并通过docker-compose.yml文件实现了整个环境的自动化部署。这种方法不仅简化了部署过程,还提高了环境的可移植性和一致性。希望本文能帮助你更好地理解和使用Docker Compose来管理和部署复杂的应用程序。
102 3
|
1月前
|
存储 监控 Linux
docker构建镜像详解!!!
本文回顾了Docker的基本命令和管理技巧,包括容器和镜像的增删改查操作,容器的生命周期管理,以及如何通过端口映射和数据卷实现容器与宿主机之间的网络通信和数据持久化。文章还详细介绍了如何使用Docker部署一个简单的Web应用,并通过数据卷映射实现配置文件和日志的管理。最后,文章总结了如何制作自定义镜像,包括Nginx、Python3和CentOS镜像,以及如何制作私有云盘镜像。
157 2