自定义创建docker镜像

      接上文创建镜像仓库后,本文记录下如何创建自己的镜像,如何安装依赖包,如何将服务放入镜像,以及如何快速部署镜像。
      创建镜像一般使用dockerfile文件,将需要执行的命令写入其中,这些命令会在镜像中执行,执行成功后就会生成所需要的镜像。
      这里先附上一个编译安装 Python3.5的镜像 dockerfile
      

点击(此处)折叠或打开

  1. FROM 172.17.3.212:5000/centos:7.6.1810   #基础镜像,一般基础镜像可在DOCKERHUB中获得,必须
  2. MAINTAINER xxx                           # 作者 可不写
  3. #编译安装python3.5.4,修改models文件       # 注释
  4. #下面为在镜像中执行的命令
  1. RUN yum install -y epel-release           
  2. RUN yum makecache
  3. RUN yum install -y zlib-devel bzip2-devel mysql-devel patch gcc-devel python-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel libffi-devel gcc make supervisor
  4. ADD Python-3.5.4.tgz /opt/              #复制文件到镜像
  5. RUN mkdir -p /usr/local/python3 
  6. WORKDIR /opt/Python-3.5.4               # 定义工作目录,
  7. RUN ./configure --prefix=/usr/local/python3 && make -j 8 && make install
         然后执行  docker build -t  ${imagename}:$VERSION -f dockerfile . 就可以生成镜像
        具体介绍下dockerfile常用命令
        FROM   后接基础镜像,如果没有会自动下载,一般基础镜像包含通用的环境,这样应用镜像就只需要把应用放入镜像就可以,精简了很多。
        RUN   在容器中运行命令,命令就是基础镜像中所提供的。 
        ADD   将本机文件复制到镜像中,注意如果想复制目录必须先在镜像中创建目录,ADD只会移动目录下的文件
        COPY   src dst      跟ADD差不多功能,推荐用此命令。
        WORKDIR  设置工作目录,镜像中的默认路径
        EXPOSR  PORT  将镜像中的端口暴露出来,让外部网络能够访问
        ENV  key value 设置镜像中环境变量
        CMD ["命令或可执行文件","params1","params2"] 容器运行时执行的命令
        ENTRYPOINT  ["命令或可执行文件 ","params1 ","params2 " ] 容器运行时执行的命令
        两者区别,ENTRYPOINT 不会被docker run 的命令所覆盖,加的命令会追加给作为参数
       
        最后解释下构建命令
        docker build -t image:version -f dockerfile .
        -t 为构建的镜像名字
        -f 指定dockerfile,如果默认文件名为dockerfile
        .  上下文,执行的ADD/COPY等复制的文件路径都相对此路径 
                


        以上就是创建镜像的基本介绍,有兴趣可以多看dockerhub的镜像,上面有各种dockerfile



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值