docker常用操作

1. docker 导出和导入镜像

容器保存为镜像

  • docker commit [options] 容器名称 镜像名称:镜像tag
    • -a :提交的镜像作者;
    • -c :使用Dockerfile指令来创建镜像;
    • -m :提交时的说明文字;
    • -p :在commit时,将容器暂停。
      docker commit -a "z.com" -m "test" test test:v1.0.1

镜像输出到文件

  • docker save -o 目标文件(tar包) name:tag(镜像)
  • docker save > 目标文件(tar包) name:tag(镜像)
  • docker export -o 目标文件(tar包) 容器名
    • export命令导出的tar文件略小于save命令导出的
    • export命令是从容器(container)中导出tar文件,而save命令则是从镜像(images)中导出

从文件导入镜像

  • docker load -i tar文件
  • docker load < tar文件
  • docker import tar文件 镜像name:tag
  • cat tar包 | docker import - 镜像name:tag

2. docker 关于镜像相关操作

  • docker images 查看镜像
  • docker rmi 镜像id(或者name:tag) 删除镜像 等价于 docker image rm 镜像id
  • docker inspect 镜像名:tag 或者 容器名称 查看镜像或容器的详细信息,比如基础镜像,启动命令等等
  • docker history 镜像名:tag 查看镜像每一层layer的信息

3. docker container

  • docker run 创建并启动容器

    • -d 后台运行
    • -it bash 交互式bash启动同时进入容器
    • --name=name(容器名)
    • -p 3306:3306 端口映射 (使用--net=host不需要单独映射端口,容器内地址都可在外部访问)
    • -v 宿主机绝对路径:容器绝对路径
    • example: docker run -d -it --name=mysql -p 3306:3306 镜像id(mysql镜像后面不能加bash,否则服务会起不来)
  • docker start name(容器名) 启动容器

  • docker stop name 停止容器

  • docker restart name 重启容器

4. docker cp 实现容器和系统文件复制

docker cp 源文件路径 复制文件路径

5. docker tag 镜像重命名

  • docker tag 旧名称 新名称

重启容器systemctl restart docker

注:

  • docker 镜像保存压缩有两种方法,不可混用, 第一种保存的tar.gz包如果使用gunzip解压,镜像load会报错,使用import可以导入但镜像已经损坏在创建容器之后会无法正常启动
    docker save -o xx.tar name:tag
    
    tar -zcvf xx.tar.gz xx.tar
    
    tar -zxvf xx.tar.gz
    
    docker load -i xx.tar
    
    或者
    docker save name:tag | gzip > xx.tgz
    
    gunzip xx.tgz | docker load
    
  • kubectl get pods -n address | grep 状态 | awk '{print $1}' | xargs kubectl delete pod
posted @ 2020-02-14 20:31  今日店休  阅读(227)  评论(0编辑  收藏  举报