通过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

目录
相关文章
|
2月前
|
JavaScript Docker 容器
使用Docker多阶段构建优化镜像大小
使用Docker多阶段构建优化镜像大小
340 100
|
2月前
|
缓存 安全 Linux
优化Docker镜像大小的多阶段构建实践
优化Docker镜像大小的多阶段构建实践
267 99
|
2月前
|
缓存 Docker 容器
优化Docker镜像大小的五个实用技巧
优化Docker镜像大小的五个实用技巧
278 98
|
2月前
|
安全 Go Docker
使用Docker多阶段构建优化镜像大小
使用Docker多阶段构建优化镜像大小
|
7月前
|
Docker 容器 Perl
云效flow构建docker镜像更换apt源为阿里镜像源
在 Dockerfile 中添加命令以更换 Debian 源为阿里云镜像,加速容器内软件包下载。核心命令通过 `sed` 实现源地址替换,并更新 apt 软件源。其中 `cat` 命令用于验证替换是否成功,实际使用中可删除该行。
1537 32
|
1月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
320 6
|
2月前
|
Java Docker 容器
使用Docker多阶段构建优化镜像大小
使用Docker多阶段构建优化镜像大小
171 8
|
3月前
|
缓存 Ubuntu Docker
Ubuntu环境下删除Docker镜像与容器、配置静态IP地址教程。
如果遇见问题或者想回滚改动, 可以重启系统.
275 16
kde
|
4月前
|
Docker 容器 应用服务中间件
Docker 客户端是如何拉取镜像的?
Docker客户端拉取镜像的过程遵循Docker Registry HTTP API V2规范,主要分为解析镜像名、鉴权、获取Manifest、拉取Layers及本地合并五个步骤。它与Docker Hub、Harbor等仓库通信,确保镜像正确下载和构建。
kde
756 59
|
3月前
|
运维 关系型数据库 数据库
应用官方 Docker 镜像已成熟,团队为何转向 Websoft9 而不再依赖 Bitnami
随着云原生发展,部署工具从 Bitnami 转向 Websoft9。后者基于官方镜像,提供多应用编排与统一运维,提升部署效率与维护能力,适合多系统协同场景。
应用官方 Docker 镜像已成熟,团队为何转向 Websoft9 而不再依赖 Bitnami