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. python学习日记(迭代器、生成器)-乱七八糟

    迭代器 迭代是Python最强大的功能之一,是访问集合元素的一种方式. 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退 ...

  2. 登录Linux服务器显示IP和自定义备注

    默认搭建好的Linux服务器,使用Xshell登录的窗口如下所示: 可根据需要执行如上代码,再重新登录服务器,效果如下图所示: 代码片段:echo "export PS1='\u@\[\e[ ...

  3. ViewHolder模式的简洁写法

    大家通常怎么写ViewHolder呢? ViewHolder holder = null; if(convertView == null){ convertView = mInflater.infla ...

  4. 天梯赛 L2-001 紧急救援

    L2-001 紧急救援 (25 分) 作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图.在地图上显示有多个分散的城市和一些连接城市的快速道路.每个城市的救援队数量和每一条连接两个城市的快速道 ...

  5. A1112. Stucked Keyboard

    On a broken keyboard, some of the keys are always stucked. So when you type some sentences, the char ...

  6. 自制模态窗体闪烁效果: MessageBeep & FlashWindowEx

    SetFocus(hwnd_frame_preview); //设置焦点 /** 模拟模态窗口动作 **/ MessageBeep(0xFFFFFFFF); //0xFFFFFFFF SystemDe ...

  7. windows 文件夹下所有文件名称

    dir dir /b 没有其它信息 dir /b >>xxx.txt 保存到txt

  8. css的简单学习笔记

    1.CSS的简介 *css :层叠样式表 **层叠: 一层一层. **样式表: 具有大量的属性和属性值 *使得页面的显示效果更加好. *css将网页内容和显示样式进行分离,提高了显示功能. *css不 ...

  9. python列表的常用方法

  10. 生产环境Linux常用命令【随时更新】

    1. 查询文件中的关键字并高亮显示[查询当前目录关键字为elasticsearch的日志文件] find ./ -name "my-elasticsearch.log" | xar ...