zoukankan      html  css  js  c++  java
  • 【docker 使用】创建镜像docker build

    创建镜像命令

    docker build -t [镜像name]:[镜像tag] -f [dockerfile路径] [资源目录]

    执行该命令后,docker会将[资源目录]打包,之后在dockerfile中使用COPY命令,就可以从资源目录往docker中拷贝东西了。

    dockerfile不需要包含在资源目录里,但是dockerfile里要COPY的资源一定要在资源目录里。

    dockerfile

    dockerfile命令详解:

    https://www.cnblogs.com/panwenbin-logs/p/8007348.html

    关键命令:

    COPY 从宿主的资源目录向docker中拷贝文件

    RUN 在docker中执行命令,每一个RUN命令是一层

    WORKDIR 在docker中设置工作目录,可以有多个该命令,相当于cd 

     FROM 引用其他镜像 https://www.liangzl.com/get-article-detail-16554.html

    docker分层build

    《Docker概念简介》 中我们提到,你可以简单理解Docker的镜像是一个压缩文件,其中包含了你需要的程序和一个文件系统。其实这样说是不严谨的,Docker镜像并非只是一个文件,而是由一堆文件组成,最主要的文件是 层。

    Dockerfile 中,大多数指令会生成一个层,比如下方的两个例子:

    # 示例一,foo 镜像的Dockerfile
    # 基础镜像中已经存在若干个层了
    FROM ubuntu:16.04
    
    # RUN指令会增加一层,在这一层中,安装了 git 软件
    RUN apt-get update 
      && apt-get install -y --no-install-recommends git 
      && apt-get clean 
      && rm -rf /var/lib/apt/lists/*
    
    
    # 示例二,bar 镜像的Dockerfile
    FROM foo
    
    # RUN指令会增加一层,在这一层中,安装了 nginx
    RUN apt-get update 
      && apt-get install -y --no-install-recommends nginx 
      && apt-get clean 
      && rm -rf /var/lib/apt/lists/*

    假设基础镜像 ubuntu:16.04 已经存在5层,使用第一个Dockerfile打包成镜像 foo,则foo有6层,又使用第二个Dockerfile打包成镜像bar,则bar中有7层。

  • 相关阅读:
    oracle权限配置
    oracle锁表处理
    小组成员
    个人项目 Individual Project
    Java单元测试框架 JUnit
    MyEclipse的快捷键大全(超级实用,方便)
    vs2008 连接 vss2005 出现 analyze utility 错误的解决方法
    EXTJS gridpanel 动态设置表头
    IE8不能上网的问题
    一些事件的评论
  • 原文地址:https://www.cnblogs.com/zealousness/p/10904764.html
Copyright © 2011-2022 走看看