Dokcerfile常见命令
 
FROM
    指定base镜像
 
MAINTAINER
    标记镜像的作者,可以是任意字符串
 
COPY
    将文件从 build context 复制到镜像
    
    COPY支持两种形式:
        1、 COPY src dest
        2、 COPY ["src","dest"]
        ps: src 只能指定 build context 中的文件或者目录
 
ADD
    与COPY类似,从 build context 复制文件到镜像
    不同的是如果src是归档文件(tar、zip、tgz、xz等),文件会被自动解压到dest
 
ENV
    设置环境变量,环境变量可以被后面的指定使用
 
EXPOSE
    指定容器中的进程会监听哪个端口,Docker 可以将该端口暴露出来
 
VOLUME
    将文件或者目录声明为VOLUME
 
WORKDIR
    为后面的 RUN、CMD、ENTRYPOINT、ADD和COPY指令设置镜像中的当前工作目录
 
RUN
    在容器中运行指定的命令
 
CMD
    容器启动时运行指定的命令
    Dockerfile 中可以有多个CMD指令,但是只有最后一个生效。CMD可以被docker run之后的参数替换
 
ENTYRPOINT
    设置容器启动时运行的命令
    Dockerfile中可以有多个ENTYRPOINT指令,但只有最后一个生效。CMD或docker run后的参数会被当做参数传递给ENTRYPOINT
 
 
 
root@docker-lab:~/016# ls -l    #    查看build context内容
total 12
-rw-r--r-- 1 root root 216 Jan  7 14:19 Dockerfile
-rw-r--r-- 1 root root 157 Jan  7 14:21 test_add_file.tar.gz
-rw-r--r-- 1 root root  51 Jan  7 14:20 test_copy_file
 
root@docker-lab:~/016# cat Dockerfile          #    查看Dokcerfile内容
# This is my first image                       #    注释部分
FROM    busybox                                #    以busybox镜像为基础进行构建
MAINTAINER    https://www.cnblogs.com/www1707  #    作者信息
WORKDIR    /testdir                            #    设置镜像中的当前目录
RUN    touch testfile                          #    创建一个空文件
COPY    test_copy_file .                       #    从build context拷贝一个文件到镜像中
ADD    test_add_file.tar.gz .                  #    将 tar.gz 文件解压到镜像中
ENV    WELCOME "You are in my container , welcome !"    #    在镜像中添加一个WELCOME的变量
 
root@docker-lab:~/016# tar -tvf test_add_file.tar.gz
-rw-r--r-- root/root         0 2019-01-07 14:20 tar_gz_a
-rw-r--r-- root/root         0 2019-01-07 14:20 tar_gz_b
-rw-r--r-- root/root         0 2019-01-07 14:20 tar_gz_c
-rw-r--r-- root/root         0 2019-01-07 14:20 tar_gz_d
 
root@docker-lab:~/016# cat test_copy_file
-----------------
test_copy_file
-----------------
 
root@docker-lab:~/016# docker build -t myimage .
Sending build context to Docker daemon  4.096kB
Step 1/7 : FROM    busybox
latest: Pulling from library/busybox
57c14dd66db0: Pull complete
Digest: sha256:b6e640a3768c460ad6066a003b6da52034c31aaf8500f9263057ddffcd830ef6
Status: Downloaded newer image for busybox:latest
---> 3a093384ac30
Step 2/7 : MAINTAINER    https://www.cnblogs.com/www1707
---> Running in d8b4503fd90d
Removing intermediate container d8b4503fd90d
---> 3de3f5987213
Step 3/7 : WORKDIR    /testdir
Removing intermediate container 1ffe55213785
---> acbe13b30785
Step 4/7 : RUN    touch testfile
---> Running in 97513a85bf15
Removing intermediate container 97513a85bf15
---> 3299ecfc7cd6
Step 5/7 : COPY    test_copy_file .
---> fb808779db38
Step 6/7 : ADD    test_add_file.tar.gz .
---> b6a1f8da1796
Step 7/7 : ENV    WELCOME "You are in my container , welcome !"
---> Running in b672d00ec977
Removing intermediate container b672d00ec977
---> c67728621bdd
Successfully built c67728621bdd
Successfully tagged myimage:latest
 
root@docker-lab:~/016# docker run -it myimage
/testdir # echo $WELCOME    #    验证ENV变量是否设置成功
You are in my container , welcome !
/testdir # ls    #    验证RUN、COPY、ADD是否成功
tar_gz_a        tar_gz_b        tar_gz_c        tar_gz_d        test_copy_file  testfile
/testdir # pwd    #    验证WORKDIR是否成功
/testdir
/testdir # cat test_copy_file    #    验证COPY是否成功
-----------------
test_copy_file
-----------------
 
 
 

016、Dockerfile 常用命令(2019-01-07 周一)的更多相关文章

  1. 第 3 章 镜像 - 016 - Dockerfile 常用指令

    Dockerfile 常用指令 1.FROM 指定base镜像2.MAINTAINER 设置镜像的作者,可以为任意字符串3.COPY 从build context 复制到镜像 COPY 支持两种形式: ...

  2. DockerFile常用命令

    COPY 复制文件 COPY [--chown=<user>:<group>] <源路径>... <目标路径> COPY [--chown=<us ...

  3. [转帖]linux中systemctl详细理解及常用命令

    linux中systemctl详细理解及常用命令 2019年06月28日 16:16:52 思维的深度 阅读数 30 https://blog.csdn.net/skh2015java/article ...

  4. 运维 07 Linux系统基础优化及常用命令

    Linux系统基础优化及常用命令   Linux基础系统优化 引言没有,只有一张图. Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令 ...

  5. Dockerfile指令及docker的常用命令

    DockerfileFROM: FROM <image> FROM <image>:<tag> MAINTAINER: MAINTAINER <name> ...

  6. Docker 常用命令和Dockerfile

    Docker 简介 官方的解释为:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现 ...

  7. Dockerfile自动制作Docker镜像(二)—— 其它常用命令

    Dockerfile自动制作Docker镜像(二)-- 其它常用命令 前言 a. 本文主要为 Docker的视频教程 笔记. b. 环境为 CentOS 7.0 云服务器 c. 上一篇:Dockerf ...

  8. docker常用命令、镜像命令、容器命令、数据卷,使用dockerFile创建镜像,dockefile的语法规则。

    一.docker常用命令? 1. 常用帮助命令 1.1 docker的信息以及版本号 /* docker info 查看docker的信息 images2 docker本身就是一个镜像. docker ...

  9. Dockerfile 中对常用命令详解

    说明 Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明. 在Dockerfile 中命令书写对先后顺序及表示其执行对顺序,在书写时需注意. 约定 命令不 ...

随机推荐

  1. 「2017 Multi-University Training Contest 1」2017多校训练1

    1001 Add More Zero(签到题) 题目链接 HDU6033 Add More Zero 找出最大的k,使得\(2^m-1\ge 10^k\). 直接取log,-1可以忽略不计. #inc ...

  2. 滚动ListView时图像顺序混乱

    本文选自StackOverflow(简称:SOF)精选问答汇总系列文章之一,本系列文章将为读者分享国外最优质的精彩问与答,供读者学习和了解国外最新技术.本文将为读者讲解滚动ListView时图像顺序混 ...

  3. 【转】void 详解

    void关键字的使用规则: 1. 如果函数没有返回值,那么应声明为void类型: 2. 如果函数无参数,那么应声明其参数为void: 3. 如果函数的参数可以是任意类型指针,那么应声明其参数为void ...

  4. PWM实现ADC和DAC

    一.PWM实现AD 利用普通单片机的2个IO及一个运算放大器即可实现AD转换电路,而且很容易扩展成多通道.其占用资源少,成本低,AD 转换精度可以达到8位甚至更高,因此具有一定的实用价值. 1.1 硬 ...

  5. hdu 1238 Substrings(kmp+暴力枚举)

    Problem Description You are given a number of case-sensitive strings of alphabetic characters, find ...

  6. Python学习day2 while循环&格式化输出&运算符

    day2 运算符-while循环 1.while循环 while循环基本结构; while 条件:      结果    # 如果条件为真,那么循环则执行    # 如果条件为假,那么循环不执行 de ...

  7. Class实例在堆中还是方法区中?

    1.JVM中OOP-KLASS模型 在JVM中,使用了OOP-KLASS模型来表示java对象,即:1.jvm在加载class时,创建instanceKlass,表示其元数据,包括常量池.字段.方法等 ...

  8. Weblate 2.11安装配置文档

    一.系统环境: OS:CentOS 6.8 x64 Minimal HostName:Weblate IP:192.168.75.153 Python:2.7.13 pip:9.0.1 Weblate ...

  9. Spring Cloud Vault介绍

    https://mp.weixin.qq.com/s?__biz=MzU0MDEwMjgwNA==&mid=2247484838&idx=1&sn=6439ed96133dde ...

  10. tfs 2013 利用 web deploy 完成asp.net站点自动发布

    课题起因: 目前我们团队使用visual studio 2013开发asp.net项目, 使用tfs2013 做源码管理, 每天早上手动发布项目文件包,复制到测试服务器的站点文件夹下覆盖老文件,用此方 ...