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. Nagios 配置自动发邮件功能

    安装sendmailyum install -y sendmail* mailx 修改防火墙设置,添加25端口到防火墙vi /etc/sysconfig/iptables 重启 iptables.se ...

  2. 【mysql】mysql索引及优化学习

    一般优化mysql首先看查找的数据有没有用到索引,没有索引就加索引,有索引时候避免索引失效.(如果优化器觉得不需要索引就能返回所需要的数据暂不考虑) 看下面两条语句 MySQL [release_te ...

  3. VSCode and NoteBook for JavaScript | NodeJS

    VSCode调试HTML环境配置 | Jupyter NoteBook IJavaScript 配置 VSCode调试HTML环境配置 先安装两个插件:Debugger for Chrome(调试) ...

  4. LOJ#2302 整数

    解:发现这苟东西是个3千万位的二进制数......毒瘤吧. 拆位考虑,如果一个地方本来是1然后+1,就会把它和它前面连续的一段1变成0,并把第一个0变成1. 如果本来是0然后-1了,就会把它和它前面连 ...

  5. 【NOIP数论内容整理】

    转载{大佬传送门} 附赠wakelin一句评论:日均二百七,全场rank1:千古神犇ZAY,吊打清华钟皓曦%%%

  6. 【洛谷P1303 A*B Problem】

    题目描述 求两数的积. 输入输出格式 输入格式: 两行,两个数. 输出格式: 积 输入输出样例 输入样例#1: 1 2 输出样例#1: 2 说明 每个数字不超过10^2000,需用高精 emm,显然本 ...

  7. bash 3

    1)unset 命令可以删除变量.readonly变量不能删除 2)变量类型 运行shell时,会同时存在三种变量: 1) 局部变量 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他sh ...

  8. Doing Homework HDU - 1074 (状压dp)

    Ignatius has just come back school from the 30th ACM/ICPC. Now he has a lot of homework to do. Every ...

  9. HTML学习笔记Day6

    一.元素类型 1.元素类型分类依据和元素类型分类 根据css显示分类,XHTML元素被分为三种类型:块状元素.内联元素.行内块元素.可变元素 2.块状元素 1)块状元素在网页中就是以块的形式显示,所谓 ...

  10. (水题)P1424 小鱼的航程(改进版) 洛谷

    题目背景 原来的题目太简单,现改进让小鱼周末也休息,请已经做过重做该题. 题目描述 有一只小鱼,它上午游泳150公里,下午游泳100公里,晚上和周末都休息(实行双休日),假设从周x(1<=x&l ...