docker version docker版本
docker info docker详细信息
docker --help docker帮助
列出本地主机上的镜像
docker images -a 列出本地所有的镜像(含中间印象层)
-q 只显示镜像ID 可以与a连用 -qa
–digests 显示镜像的摘要信息
–no-trunc 显示完整的镜像信息
查询镜像
docker search [OPTIONS] 镜像名字 --no-trunc 显示完整的镜像描述
-s 列出收藏数不小于指定值的镜像
–automated 只列出automated build类型的镜像
下载镜像
docker pull 镜像名字[:TAG]
删除镜像
docker rmi 镜像名字 docker rmi -f 镜像名字ID 删除单个
docker rmi -f 镜像名1:TAG 镜像名2:TAG 删除多个
docker rmi -f $(docker images -qa) 删除全部
=================================================================================================================
新建并启动容器
docker run [OPTIONS] IMAGES [COMMAD] [ARG…]
OPTIONS: --name=“容器新名字” 为容器指定一个名称
-d 后台运行容器,并返回容器ID,也即启动守护式容器
-i 以交互模式运行容器,通常与-t同时使用
-t 为容器重写分配一个伪输入终端,通过与-i同时使用
-P 随机端口映射 docker run -d -p 8080:8080 tomcat,将主机上的8080端口映射到docker容器的8080端口
-p 指定端口映射,有以下四种格式
ip:hostPort:containerPort
ip::containerPort
hostPort:containerPort
containerPort
列出当前所有正在运行的容器
docker ps [OPTIONS] -a 列出当前所有正在运行的容器+历史上运行过的
-l 显示最近创建的容器
-n 显示最近n个创建的容器
-q 静默模式,只显示容器编号
–no-trunc 不截断输出
退出容器 exit 容器停止并退出
ctrl+P+Q 容器不停止退出
docker start 容器ID或容器名 启动容器
docker stop 容器ID或容器名 停止容器
docker kill 容器ID或容器名 强制停止容器
docker rm 容器ID或容器名 删除容器
docker run -d 容器名 启动守护式进程
查看容器日志
docker logs 容器ID -t 加入时间戳
-f 跟随最新的日志打印
–tail 数字 显示最后打印几条
docker top 容器ID 查看容器内运行的进程 因为容器可以看成一个缩减版的Linux
docker inspect 容器ID 查看容器内部细节
ctrl+P+Q 容器不停止退出 或者 exit退出后,start开启 ,进入的方法
docker attach 容器ID 直接进入容器启动命令的终端,不会启动新的进程
docker exec 容器ID 在容器中打开新的终端,可以启动新的进程
docker exec -it 容器ID /bin/bash
docker exec -it 容器ID redis-cli 进入redis客户端
docker cp 容器ID:容器内路径 目的主机路径 从容器内拷贝文件到主机
提交容器副本使之成为一个新的镜像
docker commit -m=“信息” -a=“作者” 容器ID 要创建的目标镜像名:[标签名]
创建数据卷用于容器与宿主机共享数据
docker run -it -v /宿主机绝对路径:/容器内目录 镜像名
docker run -it -v /宿主机绝对路径:/容器内目录:ro 镜像名 带权限,容器内只能读取,read only
将Dockerfile文件build为一个新的镜像文件,在原镜像上再封装一层
docker build -f Dockerfile文件 -t 包名/镜像名 . (.表示当前目录)
容器数据卷,通过容器键配置信息的传递,数据卷的生命周期一直持续到没有容器使用它为止,传递之后数据互通
docker run -it --name dc02 --volumes-from dc01 镜像名
======================================================================================================================
Dockerfile文件解析
FROM 基础镜像,当前新镜像是基于哪个镜像的
MAINTAINER 镜像维护者的名字和邮箱地址
RUN 容器构建时需要运行的命令
EXPOSE 当前容器对外暴露的端口
WORKDIR 指定在创建容器后,终端进入的工作目录
ENV 用来构建镜像过程中设置环境变量
ADD 将文件拷贝进镜像,并会自动处理URL和解压缩tar包
COPY 将文件拷贝进镜像 COPY src dest 或者 COPY [“src”,“dest”]
VOLUME 容器数据卷,用于数据的保存和持久化工作
CMD 指定一个容器启动时要运行的命令
Dockerfile中可以有多个CMD指令,但只有最后一个生效,并且会被docker run 之后的参数替换
ENTRYPOINT 指定一个容器启动时要运行的命令
ENTRYPOINT和CMD一样,都是在指定容器启动程序及参数,但是是追加
ONBUILD 当构建一个被继承的Dockerfile时运行命令,父镜像在被子继承后父镜像的ONBUILD被触发