docker几个不常用的命令

docker不太常用的命令

  • docker ps -s #查看容器所占的磁盘大小
  • docker rm ${docker ps -q -a} # 删除全部非运行态的容器
  • docker system df #查看docker存储的使用情况
  • docker system prun #清理无用的容器、网络、数据集
  • docker rmi $(docker images | awk ‘/^/ { print $3 }’) #删除的镜像repositry为none的镜像

docker配置参数

  1. --iptables ,该参数用于控制是否允许docker去管理iptables,当设置为true时,允许docker去管理iptbales表
    • 通常在docker单独使用时,需要这样配置,如果配置为false,iptables被清空后,是无法自动创建的
    • 在基于Kubernetes等管理docker时,可以配置iptables=false
  2. --ip-forward,该参数用于控主机容器与外部网络之间的相互通信,当设置为true时,允许容器被外部访问,当设置为false时,外部是无法访问到容器
    • 当宿主机设置了ip_forward参数为1时,会以宿主机的配置为准,docker的改配置参数无效

迁移docker存储方式一

若docker已经运行一段时间,并存在运行的容器,可以采用以下方法进行容器存储的迁移

  1. 停止全部容器
  2. 停止docker:systemctl stop docker
  3. mkdir -p /sl/docker/
  4. 移动docker存储:mv /var/lib/docker/* /sl/docker/
  5. 建立软连接:ln -s /sl/docker /var/lib/
  6. systemctl start docker

注意删除软连接是 rm /var/lib/docker 后面不能有斜杠,否则是删除整个目录)

迁移docker存储方式二

  1. 停止全部容器
  2. 停止docker:systemctl stop docker
  3. cd /sl
  4. mkdir dockerdaemon
  5. cd /sl/dockerdaemon
  6. tar -czvpf docker.tar.gz /var/lib/docker
  7. tar zxvf docker.tar.gz -C /sl/dockerdaemon
  8. cd /sl/dockerdaemon/var/lib/
  9. mv docker/ ../../
  10. mv /var/lib/docker /sl/backup
  11. ln -s /sl/dockerdaemon/docker /var/lib/