本文将介绍玩转docker的一些高级命令。

一、从镜像仓库中拉取或者更新指定镜像

docker pull [OPTIONS] NAME[:TAG|@DIGEST]

OPTIONS说明:

  • -a :拉取所有 tagged 镜像
  • –disable-content-trust :忽略镜像的校验,默认开启

TAG说明:

实例

  • 从Docker Hub下载java最新版镜像。

    docker pull java

  • 从Docker Hub下载REPOSITORY为java的所有镜像。

    docker pull -a java

二、docker 容器内查看宿主机 ip 的方法

curl ifconfig.me

三、docker 查看实时日志

实例

# 查看指定时间后的日志,只显示最后100行:

docker logs -f -t --since="2018-10-24" --tail=100 container_name

# 查看最近30分钟的日志:

docker logs --since 30m container_name

# 查看某时间之后的日志:

docker logs -t --since="2018-10-24T13:23:37" container_name

# 查看某时间段日志:

docker logs -t --since="2018-10-24T13:23:37" --until "2018-02-09T12:23:37" container_name

容器日志文件的生命周期说明:

docker logs是跟随容器而产生的,如果删除了某个容器,相应的日志文件也会随着被删除

参数说明:

  • –since : 此参数指定了输出日志开始日期,即只输出指定日期之后的日志。

  • -f, –follow : 跟踪日志输出,最后一行为当前时间戳的日志

  • -t, –timestamps : 显示时间戳

  • –details : 显示更多的信息

  • -tail=10 : 查看最后的10条日志。

  • container_name : 容器名称

四、退出正在运行的容器

如果要正常退出不关闭容器,请按Ctrl+P+Q进行退出容器

附 Docker 资源汇总

Docker官方英文资源

Docker中文资源

Docker 国内镜像

更多命令详解,请访问 docker 官网