前言
因为需要在k8s里用docker跑一些定时任务, 所以顺便写一下制作docker镜像的基本流程
准备工作
首先肯定是要先设置docker加速了, 毕竟使用官方的太慢了(疯狂吐槽), 阿里云地址可以在 https://cr.console.aliyun.com 获取自己的镜像加速器地址, 获取之后打开docker配置复制里面就可以了, 阿里云下面也有各个操作系统的配置方法
开始操作
工作目录
首先建个文件夹, 然后随便写个print测试用例, 就在docker里面跑这个文件了
不要对time.sleep产生误解, 我这跑的是个脚本不是服务, 脚本完成后容器就关闭了
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当前目录(三遍)
这样就打包成功了, 然后调用docker images 命令查看镜像并启动
这样就ok了, 是不是很简单
最后附上Dockerfile指令详解 https://yq.aliyun.com/articles/652685