docker镜像

docker镜像
docker容器是基于docker 镜像来运行的

查看本地镜像

docker images [options]

options:
-a 显示中间镜像,默认为不显示
--digests 显示摘要
--no-trunc=true 显示ID全部,不截断ID
-q 是显示镜像ID

# docker images -aq --no-trunc

删除本地镜像

docker rmi [options] name|id

options:
-f 强制删除

# docker rmi -f ubuntu

搜索镜像

docker search [options] name|id

options:
--automated=false 是否是自动构建的
--no-trunc=false 是否以截断的方式显示
-s n 只显示n星际以上的镜像

# docker search -s 20 ubuntu

下载镜像

docker pull [options] name

options:
-a, --all-tags=false 下载所有tag

# docker pull ubuntu
下载过程可能略慢,由于网络特殊原因,请参考镜像加速:https://www.daocloud.io/

推送本地镜像到docker.hub上

docker push name[:tag]
# docker pull ubuntu 会提示输入用户和密码(需要注册)

构建镜像

有两种方式:
- 通过容器构建
- 通过Dockerfile来构建

通过容器来构建

docker commit [options] cid|cname iname

options:
-a, --author=  指定作者信息
-m, --message= 注释信息
-p, --pause=true 运行中的容器不暂停(默认会暂停正在运行的容器)

# docker commit -a "pretent" -m "pretent commit" d44e666c545d imagecommit/test

通过Dockerfile来构建

docker build dockerfile

options:
-f 指定dockerfile文件路径,默认当前目录中的./Dockerfile
-t, --tag= 指定tag
--rm=true 构将后删除dockerfile
-q, --quiet=false 显示构建过程信息
# docker build . -t myimage01
Dockerfile

包含了一系列命令的文件
Dockerfile 指令格式
#开头为注释
一般格式为一条指令为一行:指令 参数,一般指令大写(推荐并不语法报错)

指令FROM

指定已经存在的基础镜像 必须第一条非注释指令
FROM <image>[:tag]
FROM ubuntu:14.04

指令 MAINTAINER

指定作者信息
`MAINTAINER <AUTHOR INFO>
MAINTAINER xxx@126..com

指令 RUN

构建时执行的命令,可执行多条,每一条run指令都会在上层指令创建一个新的镜像来执行
RUN <command>|<exec>
RUN apt-get -y nginx
...

指令 EXPOSE

指定运行此镜像的容器所使用的端口,可以多次指定多个,运行是仍需要使用-p来指定
EXPOSE <port>[<port>...]
EXPOSE 80
...

指令 CMD

容器运行的默认行为,会被docker run 时所指定的命令覆盖
CMD <COMMOND>
CMD /bin/bash

指令 ENTRYPOINT

容器运行时执行,不会被docker run 中的命令覆盖可以将ENTRYPOINT 和CMD组合使用,ENTRYPOINT指定命令,CMD运行指定参数
ENTRYPOINT command param
ENTRYPOINT ngxin -g deamon off

指令 ADD

将文件或目录添加到镜像中,
源路径既可以是本地文件系统也可以是远程URL,本地地址必须是构将路径的相对地址(远程并不推荐)
目标路径要使用镜像的绝对路径
区别:ADD 包含类似tar的解压功能,如果只是单纯的复制文件,推荐COPY

ADD <src> <dest>
ADD ["<src>" "<dest>"] 用户路径带空格的情况
COPY <src> <dest>
ADD ["<src>" "<dest>"] 用户路径带空格的情况

COPY index.html /data/test/

指令 VOLUME

VOLUME [/"/data"]

指令 WORKDIR

设置工作目录,CMD 和 ENTRYPOINT将在此目录下执行,通常绝对路径
WORKDIR /PATH/TO/WORKDIR

指令 ENV

指定环境变量,构建和运行环境均有效

ENV <KEY> <VALUE>
ENV <KEY>=<VALUE> ```
指令 USER

指定镜像以什么用户去运行,默认root用户
USER user|uid|gid|gourp以及各种组合

指令 ONBUILD

镜像触发器,当此镜像被作为基础镜像时会在构将过程中插入指令
构建此镜像时ONBUID指定的指令并不会执行
ONBUILD [instruction]
ONBUILD COPY index.html /var/nginx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值