Docker镜像构建命令

1、通过容器构建

$ docker commit

参数说明:

-a --author=""指定作者

-m --message=""构建说明

-p --pause=true

2、通过Dockerfile构建

A.命令

$ docker build [OPTIONS] PATH | URL | -

参数说明:

--force-rm=false

--no-cache=false

--pull=false

-q --quiet=false

--rm=true

-t --tag="指定构建镜像Dockerfile文件的路径"

B.Dockerfile指令格式

#First Dockerfile

FROM ubuntu:14.04

MAINTAINER dormancypress "dormancypress@outlook.com"

RUN apt-get update

RUN apt-get install -y nginx

EXPOSE 80

C.Dockerfile参数介绍

参数

FROM <image>

FROM <image>:<tag>

构建镜像依赖的基础镜像

该镜像必须是基础镜像

MAINTAINER

表示镜像的所有者以及作者

RUN <command>

RUN ["executable","param1","param2"]

指定当前镜像运行的命令

shell模式

     /bin/sh -c command

exec模式

    RUN ["/bin/bash","-c","echo hello"]

EXPOSE <port> [<port>…]

指定运行该镜像容器使用的端口

指定一个或多个端口

CMD command param1 param2

CMD ["executable","param1","param2"]

CMD ["param1","param2"]

指定容器运行时的运行命令

等级:RUN>CMD

shell模式

exec模式

作为ENTRYPOINT指令的默认参数

ENTERYPOINT ["executable","param1","param2"]

ENTERYPOINT command param1 param2

指定容器运行时的运行命令

不会被覆盖,除非使用docker run --entrypoint命令特殊指定

exec模式

shell模式

ADD <src>…<dest>

ADD ["<src>"…"<dest>"]

设置镜像的目录文件

ADD包含类似tar的解压功能

目标文件的来源地址(本地地址,构建目录的相对地址|远程地址,不建议使用)和目标地址(镜像路径的绝对路径)

适用于文件路径中有空格的情况

COPY ["<src>"…"<dest>"]

COPY <src>…<dest>

设置镜像的目录文件

单纯复制文件,Docker推荐使用COPY

适用于文件路径中有空格的情况

目标文件的来源地址(本地地址,构建目录的相对地址|远程地址,不建议使用)和目标地址(镜像路径的绝对路径)

VOLUME ["/data"]

WORKDIR /path/to/workdir

镜像构建及运行时的环境设置

镜像创建容器时设置工作目录

通常使用绝对路径

ENV <key> <value>

ENV <key>=<value>

设置环境变量

USER daemon

设置基于那种用户的形式运行

USER nginx nginx的身份形式运行

ONBUILD [INSTRUCTION]

镜像触发器

当一个镜像被其他镜像作为基础镜像时执行

该命令在构建过程插入

$ docker build --no-cache

构建过程不使用缓存

$ docker history <image>

查看构建历史

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值