如何将您的应用容器化(约3分钟)
docker是通过读取Dockerfile文件的指令来生成自定义镜像的。本章我们将一个示例项目构建为镜像,以此来学习如何实现正确的 Dockerfile 并在 DaoCloud 执行构建。
1 新建项目
我们为您准备了示例代码仓库, 如果您是 github 用户请 fork DaoCloud/dao-2048, coding 用户请 fork DaoCloud/dao-2048
点击“项目" -> “创建新项目"。设置完代码源,点击“流程定义"->“编辑任务"
提示
“Dockerfile”选项,这是用来指定使用哪个Dockerfile进行构建,因为示例代码中并没有 Dockerfile文件,因此我们点击,并选择“创建云端 Dockerfile”,此时会在DaoCloud上创建一个Dockerfile文件用来构建镜像,可以在此基础上进行修改
2 填写Dockerfile
我们在Dockerfile中填入以下内容:
#FROM 指令指定基础镜像 #比较常用的基础镜像有ubuntu,centos。这里使用了一个极小的基础镜像alpine FROM alpine:latest #MAINTAINER指令用于将镜像制作者相关的信息写入到镜像中 #您可以将您的信息填入name以及email MAINTAINER name <email> #RUN指令可以运行任何被基础image支持的命令,就像在操作系统上直接执行命令一样(如果使用ubuntu为基础镜像,这里应该用apt-get 命令安装) #安装nginx RUN apk --update add nginx #配置Nginx,并设置在标准输出流输出日志(这样执行容器时才会看到日志) RUN sed -i "s#root html;#root /usr/share/nginx/html;#g" /etc/nginx/nginx.conf #Nginx日志输出到文件 RUN ln -sf /dev/stdout /var/log/nginx/access.log \ && ln -sf /dev/stderr /var/log/nginx/error.log #COPY指令复制主机的文件到镜像中 (在这里当前路径就是repo根目录) #将2048项目的所有文件加入到Nginx静态资源目录里 COPY . /usr/share/nginx/html #EXPOSE:指定容器监听的端口 EXPOSE 80 #CMD指令,容器启动时执行的命令 #启动Nginx并使其保持在前台运行 #CMD一般是保持运行的前台命令,命令退出时容器也会退出 CMD ["nginx", "-g", "pid /tmp/nginx.pid; daemon off;"]
写入结果如图:
点击“保存”
温馨提示:最后一定要记得点击“保存 ”,使设置生效。
3 构建您的项目
点击手动触发,选择master分支,点击“确定”,在“执行记录”可以查到执行成功,您的项目就被打包进入镜像啦!
恭喜您完成了教程!您已掌握了在 DaoCloud 上使用dockerfile进行 docker 镜像构建的方法!
更多: