docker常用命令

 docker logs [OPTIONS] CONTAINER

OPTIONS:
--details 显示更多的信息
-f,--follow 跟踪实时日志
--since string 显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
--tail string 从日志末尾显示多少行日志, 默认是all
-t, --timestamps 显示时间戳
--until string 显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)

#查看指定时间日志,只显示最后100行:
docker logs -f -t --since="2020-06-01" --tail=100 CONTAINER_ID
#查看最近30分钟的日志:
docker logs --since 30m CONTAINER_ID
#查看某时间之后的日志:
docker logs -t --since="2020-06-01T16:44:37" CONTAINER_ID
#查看时间段日志:
docker logs -t --since="2020-06-01T16:45:31" --until "2020-06-01T16:48:25" CONTAINER_ID
  • 删除废弃的容器和镜像

docker ps -a|grep "Exited" | awk '{print $1}' | xargs docker stop
docker ps -a|grep "Exited" | awk '{print $1}' | xargs docker rm
docker images -a|grep none|awk '{print $3}'|xargs docker rmi
  • docker和宿主机的network

1.宿主机的网络变化后(如dns修改),常会导致docker容器出现访问不到的情况,需要重启docker daemon。
2.桥接模式下,docker容器的端口映射是通过添加iptables的规则实现的,而centos8中默认使用的防火墙规则是nftables. 需要修改为iptables, 修改后重启防火墙, docker容器的网络才能正常。

vim /etc/firewalld/firewalld.conf

# FirewallBackend
# Selects the firewall backend implementation.
# Choices are:
#   - nftables (default)
#   - iptables (iptables, ip6tables, ebtables and ipset)
FirewallBackend=iptables
  • docker的OverlayFS

每一个docker容器都有一个overlay的磁盘目录挂载,一般在 /var/lib/docker/overlay2/ 下面。所以在宿主机磁盘扩容,/var目录重新挂载前,应关闭所有docker容器,关闭docker daemon。

  • docker容器的时区和时间同步

docker容器默认是UTC时间,通过在Dockerfile增加如下命令可改为东八区时间:

RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。