赞
踩
目录
docker version
docker info
docker 命令 --help
帮助文档的地址:Reference documentation | Docker Documentation
镜像仓库
本地镜像管理
查看所有本地的主机上的镜像
docker images [OPTIONS] [REPOSITORY[:TAG]]
docker images -a 所有镜像
docker iamges -q 所有镜像ID docker images -aq
docker images --digests 显示摘要信息
docker images --digests -- no-trunc 显示完整的摘要信息
docker search [OPTIONS] TERM
docker search 镜像名
docker search -s 30 nginx 显示stars超过30的信息
docker search -s 30 --no-trunc nginx 显示完整的摘要信息
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
docker pull 镜像名[:tag]
docker pull xxx
不加tag默认就是latest最新的版本,否则取指定版本
例如:docker pull apache/skywalking-oap-server:8.7.0-es7
docker rmi [OPTIONS] IMAGE [IMAGE...]
docker rmi -f 镜像ID
docker rmi -f hello-world nginx 删除多个
docker rmi -f $(docker images -qa)删除全部
容器生命周期管理
容器操作
容器rootfs命令
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS说明:
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-P: 随机端口映射,容器内部端口随机映射到主机的端口
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name="xxx": 为容器指定一个名称;
--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
-h "mars": 指定容器的hostname;
-e username="ritchie": 设置环境变量;
--env-file=[]: 从指定文件读入环境变量;
--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;
-m :设置容器使用内存最大值;
--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
--link=[]: 添加链接到另一个容器;
--expose=[]: 开放一个端口或一组端口;
--volume , -v: 绑定一个卷
案例:docker run -d 镜像名
docker run -d centos
问题:执行docker ps命令,发现centos 停止了
# 常见的坑,docker 容器使用后台运行,就必须要有一个前台进程,docker发现没有应用,就会自动停止
# nginx,容器启动后,发现自己没有提供服务,就会立刻停止,就是没有程序了。
docker start 容器ID #启动容器
docker restart 容器ID #重启容器
docker stop 容器ID #停止当前运行容器
docker kill 容器ID #强制停止当前容器
docker ps [OPTIONS]
OPTIONS说明:
列出所有在运行的容器信息:
docker ps
输出详情介绍:
CONTAINER ID: 容器 ID。
IMAGE: 使用的镜像。
COMMAND: 启动容器时运行的命令。
CREATED: 容器的创建时间。
STATUS: 容器状态。
状态有7种:
PORTS: 容器的端口信息和使用的连接类型(tcp\udp)。
NAMES: 自动分配的容器名称。
docker rm [OPTIONS] CONTAINER [CONTAINER...]
OPTIONS说明:
-f, --force Force the removal of a running container (uses SIGKILL)
-l, --link Remove the specified link
-v, --volumes Remove anonymous volumes associated with the container
docker logs [OPTIONS] CONTAINER
OPTIONS说明:
-f,--follow :跟踪实时日志
--details :显示更多的信息
--since :显示某个timestamp时间之后的日志,或相对时间,如42m(即42分钟)
--until :显示某个timestamp时间之前的日志,或相对时间,如42m(即42分钟)
--tail :从日志末尾显示多少行日志, 默认是all
-t,--timestamps :显示时间戳
案例:
(1)显示实时log
docker logs -f <CONTAINER_ID>
(2)使用 tail 查看 log 尾部(显示最后20行的内容)
docker logs --tail 20 <CONTAINER_ID>
(3)查看某时间段日志
docker logs -t --since="2018-02-08T13:23:37" --until "2018-02-09T12:23:37" <CONTAINER_ID>
(4)查看最近30分钟的日志
docker logs --since 30m <CONTAINER_ID>
(5)使用 grep 过滤 log(例如查找所有包含 “error” 的log)
docker logs <CONTAINER_ID> | grep error
docker top CONTAINER [ps OPTIONS]
docker inspect [OPTIONS] NAME|ID [NAME|ID...]
OPTIONS说明:
-f :指定返回值的模板文件。
-s :显示总的文件大小。
--type :为指定类型返回JSON。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。