zoukankan      html  css  js  c++  java
  • Docker常用命令

    Docker常用命令

    Docker镜像命令

    • docker images
      • 查看所有的images
    • docker images|grep voyage|grep none|awk '{print $3 }'|xargs docker rmi
      • 删除所有指定标签的images
    • docker pull
      • 例如docker pull 10.37.210.125:5001/contiv/netplugin:1.2.0_6.3, 会默认加https:// 使用安全链接下载镜像
      • 如果想使用http:// 非安全的链接下载镜像,需要修改docker 配置/etc/docker/daemon.json,如下:
        {
      "storage-driver": "devicemapper",
      "storage-opts": [
        "dm.basesize=20G"
      ],
      "insecure-registries": ["10.37.210.125:5001", "10.37.218.29:5000"]
    }
    
    • docker save

      • 把本机镜像拷贝出来成一个文件,例如 docker save pause:3.0 -o myimage.rar
    • docker load

      • 加载指定镜像,例如:docker load -i golang-1.2.0.tar
    • docker tag

      • 给docker镜像添加一个新的tag, 例如: docker tag 10.37.1.2:5001:5001/contiv:0.1 tag 10.37.1.2:5001:5001/net:0.1
    • docker build

      • 构建镜像到指定位置.eg: docker build -t 10.37.1.2:5001/contiv/netplugin:sj-001 ./ -f Dockerfile
      • 如果是基于某个原始镜像进行编译,那么编译的环境必须有该镜像即先要docker pull下基础镜像再进行编译
    • docker push

      • 推送镜像或者repository到镜像仓库. eg: docker push 10.37.210.125:5001/contiv/netplugin:test-001
    • docker rmi xxx

      • 删除某个镜像

    Docker 生命周期管理命令

    • docker run

      • docker run -d busybox:glibc sleep 100
        用镜像busybox:glibc运行一个新的容器;-d表示在后台运行;因为该镜像没有持续的进程,如果不加sleep 100会马上退出。如果容器脚本有命令参数,那么也需要加上,例如:
        docker run iperf:3.0 -s
      • docker run -d --network host busybox:glibc sleep 100
        这里指定容器使用的网络模式是host,默认为docker0 bridge模式。另外还可以是none,或者container模式.
    • docker stop
      停止退出一个正在运行的容器

    • docker start
      启动一个或多个已经停止的容器

    • docker restart
      重启一个或多个容器

    • docker pause/unpause
      暂停一个容器中的所有进程,该容器不能执行exec 命令, 也不能rm 被删除

    Docker Debug命令

    • docker inspect

      • 查看容器的详细信息,包含启动脚本和环境变量
      • 进入容器和网络的netns命名空间的方法
        1. docker ps 查看容器的id
        2. docker inspect <容器id>|grep Pid //获取容器进程号
        3. ln -s /proc/<容器进程号>/ns/net /var/run/netns/<容器id> //将进程网络命名空间恢复到主机目录, 如果/var/run/netns目录不存在,以root用户手动创建目录即可。
        4. 执行ip netns 命令即可看到容器的网络命名空间
        5. nsenter -t <容器进程号> -n -F -- ip a //到容器命名空间中执行命令ip a
    • docker ps --no-trunc

      • 可查看完成容器ID
    • docker exec

      • 在docker容器内部执行IP命令: docker exec -ti 12345678 ip
      • 根据独一无二的容器名,在该容器内部执行bash命令:
        docker exec -it `docker ps |grep docker-unique-name|awk '{print $1}'|awk FNR==1` bash
    • docker network 容器网络相关命令

      • docker network prune 删除不被容器使用的所有网络资源,例如端口。容器删除后,端口仍被占用需要用这个命令回收

    Docker 容器使用资源查看

    • docker stats docker-ID
  • 相关阅读:
    6.一个python-selenium的实战
    9.python-ini文件使用(读和写)
    4.表数据的操作-insert、delete
    5.数据库的查询-select
    2.自动化测试之python+selenium基础
    6.python中目录的操作
    sql如何先排序再去重
    hbase(0.94) get、scan源码分析
    Antlr 在 idea 中正确使用的方式
    某日看代码对代码可读性的思考
  • 原文地址:https://www.cnblogs.com/janeysj/p/11175962.html
Copyright © 2011-2022 走看看