dockerfile构建及镜像发布
dockerfile的构建过程
基础知识:
- 每个保留关键字都必须是大写字母
- 执行从上到下顺序进行
- #表示注释
- 每个指令都会创建一个新的镜像层,并提交!
dockerfile是面向开发的,我们以后要发布项目,做镜像,都要编写dockerfile文件,这个文件十分简单,逐渐成为企业交付的标准!
步骤:开发,部署。运维……,缺一不可!
dockerfile:构建文件,定义一切的步骤,源代码
dockerimages:通过dockerfile构建生成的镜像,最终要发布和运行的产品
docker容器:容器就是镜像运行起来提供服务的
dockerfile的指令
以前就是用别人的镜像,现在可以构建自己的镜像了!
FROM #基础镜像,一切从这里构建,如centos MAINTAINER #镜像是谁写的,姓名+邮箱 RUN #docker镜像构建时需要运行的命令 ADD #添加内容,步骤:如tomcat镜像,这个tomcat压缩包! WORKDIR #镜像的工作目录 如/bin/bash VOLUME #挂载的目录 EXPOSE #暴露端口配置 CMD #指定这个容器启动时要运行的命令,只有最后一个会生效,可被替代 ENTRYPOINT #指定这个容器启动时要运行的命令,可以追加命令 ONBUILD #当构建一个被继承dockerfile,这个时候就会运行ONBUILD,触发指令 COPY #类似ADD,将我们文件拷贝到镜像中 ENV #构建的时候设置环境变量!
实战测试(centos镜像)
docker hub中99%镜像都是从这个基础镜像过来的FROM scratch,然后配置需要的软件和配置来构建的!
创建一个自己的centos
测试运行!
版本对比
我们可以列出本地进行的变更历史
CMD与ENTRYPOINT的区别(略)
CMD #指定这个容器启动时要运行的命令,只有最后一个会生效,可被替代 ENTRYPOINT #指定这个容器启动时要运行的命令,可以追加命令
发布自己的镜像
1.在docker hub上注册账号
2.确定账号可以登录
3.在我们的服务器上提交自己的镜像
Usage: docker login [OPTIONS] [SERVER] Log in to a registry. If no server is specified, the default is defined by the daemon. Options: -p, --password string Password --password-stdin Take the password from stdin -u, --username string Username
4.登陆完毕后可push镜像!
chen@LAPTOP-IGHM692L:~$ docker login -u shuanghanwuyu Password: WARNING! Your password will be stored unencrypted in /home/chen/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded docker tag e10a8e3c3cc4 shuanghanwuyu/mycentos:v1.0 docker push shuanghanwuyu/mycentos:v1.0
push成功后
上一篇:
通过多线程提高代码的执行效率例子
下一篇:
acer电脑新装系统指南