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. windows下操作linux虚拟机映射网络驱动器中文件提示chmod权限不足解决方案

    为了方便操作,linux虚拟机会通过windows下连接网络驱动器的方式共享自己的文件,对于前端来说,我想把gulp放在windows磁盘,操作虚拟机中的php文件,一来节省虚拟机磁盘大小,二来解决虚 ...

  2. Haproxy 配置 ACL 处理不同的 URL 请求

    需求说明服务器介绍:HAProxy Server: 192.168.1.90WEB1 : 192.168.1.103WEB2 : 192.168.1.105Domain: tecadmin.net当用 ...

  3. 【CF891C】Envy(最小生成树)

    [CF891C]Envy(最小生成树) 题面 Codeforces 洛谷 题解 考虑\(MST\)的构建过程,对于所有权值相同的边一起考虑. 显然最终他们连出来的结果是固定的. 把连边改为把联通块联通 ...

  4. JS基本类型-引用类型-深浅拷贝

    在JavaScript中变量包含两种类型的值:一种是基本类型,一种是引用类型. 基本类型包括:数值.字符串.null.undefined.布尔值引用类型包括:对象.数组.函数.正则… 补充: null ...

  5. optimize PHP-FPM优化

    php-fpm进程pidpids=$(ps aux | grep ${process} | grep -v "grep" | awk '{print $2}') php-fpm 关 ...

  6. luogu1196 银河英雄传说 (并查集)

    并查集,不仅记fa,还记与fa的距离,还记根对应的尾节点 路径压缩的时候更新那个距离就行了 #include<bits/stdc++.h> #define pa pair<int,i ...

  7. scrapy 选择器

    1.lxml(转自简书) from lxml import etree2 import requests3 45 url = " "6 html = requests.get(ur ...

  8. Docker部署SonarQube

    依赖 CentOS 7.2+ docker 1.13+ docker-compose 1.20+ 将下面文件内容另存为docker-compose.yml文件,执行docker-compose up ...

  9. 课后选做题:MyCP

    目录 CP命令了解 MyCP实现 CP命令了解 作用:cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中.若 ...

  10. Linux下启动,停止,重启Nginx、Mysql、PHP

    LINUX启动Nginx的命令: 一.查询是否启动 [root@jiang php-fpm.d]# ps -ef | grep nginx root 25225 1 0 19:26 ? 00:00:0 ...