美文网首页
2.docker基础命令

2.docker基础命令

作者: 不安分的情绪 | 来源:发表于2018-01-23 15:53 被阅读0次

    version

    查看docker版本

    [root@docker-daemon ~]# docker --version
    Docker version 1.12.6, build ec8512b/1.12.6
    

    search

    查找一个镜像

    [root@docker-daemon ~]# docker search centos
    INDEX       NAME                                         DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
    docker.io   docker.io/centos                             The official build of CentOS.                   3974      [OK]       
    

    pull

    下载镜像

    [root@docker-daemon ~]# docker pull centos
    [root@docker-daemon ~]# docker pull centos:6
    [root@docker-daemon ~]# docker pull busybox:latest
    

    images

    显示本地镜像

    [root@docker-daemon ~]# docker images
    REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
    docker.io/hello-world   latest              f2a91732366c        9 weeks ago         1.848 kB
    

    run

    启动容器
    交互模式启动

    [root@docker-daemon ~]# docker run -it --name box1  busybox:latest
    / # pwd
    

    Tip:脱离当前终端:先Ctrl + p,在Ctrl + q,容器不会关掉

    ps

    查看当前系统运行中的容器

    [root@docker-daemon ~]# docker ps
    [root@docker-daemon ~]# docker ps -a //所有容器
    

    attach

    连接运行中的容器

    [root@docker-daemon ~]# docker attach box1
    

    Tip:使用多个窗口attach到同一个容器时,所有的窗口都会同步。当某个窗口因命令堵塞时,其他窗口也无法操作了。

    rm

    删除一个容器

    [root@docker-daemon ~]# docker rm $(docker ps -a -q) 
     //删除所有停止的容器
    

    Tip:停止一个容器不会自动删除,除非我们在启动是加上了-rm选项

    kill

    杀死运行中的容器

    [root@docker-daemon ~]# docker kill $(docker ps -a -q) //杀死运行中的所有容器
    

    save

    导出镜像

    [root@docker-daemon ~]# docker save dengyou/centos:net-tools -o centos-net.tar
    

    load

    导入一个镜像到另一台机器上

    [root@docker-client ~]# docker load -i centos-net.tar 
    Loaded image: dengyou/centos:net-tools
    

    Tip:通过save和load命令,我们可以使用ftp来做docker registry 仓库来使用

    rmi

    删除镜像

    [root@docker-daemon ~]# docker rmi $(docker images -q)  //删除所有镜像
    

    nsenter命令

    nsenter命令可以访问另一个进程的名字空间。

    [root@docker-daemon ~]# yum install -y util-linux  //安装软件包
    
    [root@docker-daemon ~]# docker run -it --rm --name box1 busybox:latest  
    
    [root@docker-daemon ~]# docker inspect -f "{{.State.Pid}}" box1  //获取容器的pid
    4368
    
    [root@docker-daemon ~]# nsenter  -t 4368 -u -n -p  //连接进入容器
    [root@ab3d821b7c54 ~]# ifconfig |awk '/broadcast/{print $2}'
    172.17.0.2
    [root@ab3d821b7c54 ~]# exit   //退出容器
    logout
    

    我们也可以将上面的编写成脚本,快速进去容器

    #!/bin/sh
    PID=$(docker inspect --format "{{.State.Pid}}" $1)
    nsenter -t $PID -u -i -n -p
    

    执行脚本是将docker id或者name作为$1参数传入即可。

    help文档

    # docker --help
    Usage:
    docker [OPTIONS] COMMAND [arg...]
           docker daemon [ --help | ... ]
           docker [ --help | -v | --version ]
    
    A self-sufficient runtime for containers.
    
    Options:
      --config=~/.docker              Location of client config files  #客户端配置文件的位置
      -D, --debug=false               Enable debug mode  #启用Debug调试模式
      -H, --host=[]                   Daemon socket(s) to connect to  #守护进程的套接字(Socket)连接
      -h, --help=false                Print usage  #打印使用
      -l, --log-level=info            Set the logging level  #设置日志级别
      --tls=false                     Use TLS; implied by--tlsverify  #
      --tlscacert=~/.docker/ca.pem    Trust certs signed only by this CA  #信任证书签名CA
      --tlscert=~/.docker/cert.pem    Path to TLS certificate file  #TLS证书文件路径
      --tlskey=~/.docker/key.pem      Path to TLS key file  #TLS密钥文件路径
      --tlsverify=false               Use TLS and verify the remote  #使用TLS验证远程
      -v, --version=false             Print version information and quit  #打印版本信息并退出
    
    Commands:
        attach    Attach to a running container  #当前shell下attach连接指定运行镜像
        build     Build an image from a Dockerfile  #通过Dockerfile定制镜像
        commit    Create a new image from a container's changes  #提交当前容器为新的镜像
        cp    Copy files/folders from a container to a HOSTDIR or to STDOUT  #从容器中拷贝指定文件或者目录到宿主机中
        create    Create a new container  #创建一个新的容器,同run 但不启动容器
        diff    Inspect changes on a container's filesystem  #查看docker容器变化
        events    Get real time events from the server#从docker服务获取容器实时事件
        exec    Run a command in a running container#在已存在的容器上运行命令
        export    Export a container's filesystem as a tar archive  #导出容器的内容流作为一个tar归档文件(对应import)
        history    Show the history of an image  #展示一个镜像形成历史
        images    List images  #列出系统当前镜像
        import    Import the contents from a tarball to create a filesystem image  #从tar包中的内容创建一个新的文件系统映像(对应export)
        info    Display system-wide information  #显示系统相关信息
        inspect    Return low-level information on a container or image  #查看容器详细信息
        kill    Kill a running container  #kill指定docker容器
        load    Load an image from a tar archive or STDIN  #从一个tar包中加载一个镜像(对应save)
        login    Register or log in to a Docker registry#注册或者登陆一个docker源服务器
        logout    Log out from a Docker registry  #从当前Docker registry退出
        logs    Fetch the logs of a container  #输出当前容器日志信息
        pause    Pause all processes within a container#暂停容器
        port    List port mappings or a specific mapping for the CONTAINER  #查看映射端口对应的容器内部源端口
        ps    List containers  #列出容器列表
        pull    Pull an image or a repository from a registry  #从docker镜像源服务器拉取指定镜像或者库镜像
        push    Push an image or a repository to a registry  #推送指定镜像或者库镜像至docker源服务器
        rename    Rename a container  #重命名容器
        restart    Restart a running container  #重启运行的容器
        rm    Remove one or more containers  #移除一个或者多个容器
        rmi    Remove one or more images  #移除一个或多个镜像(无容器使用该镜像才可以删除,否则需要删除相关容器才可以继续或者-f强制删除)
        run    Run a command in a new container  #创建一个新的容器并运行一个命令
        save    Save an image(s) to a tar archive#保存一个镜像为一个tar包(对应load)
        search    Search the Docker Hub for images  #在docker
    hub中搜索镜像
        start    Start one or more stopped containers#启动容器
        stats    Display a live stream of container(s) resource usage statistics  #统计容器使用资源
        stop    Stop a running container  #停止容器
        tag         Tag an image into a repository  #给源中镜像打标签
        top       Display the running processes of a container #查看容器中运行的进程信息
        unpause    Unpause all processes within a container  #取消暂停容器
        version    Show the Docker version information#查看容器版本号
        wait         Block until a container stops, then print its exit code  #截取容器停止时的退出状态值
    Run 'docker COMMAND --help' for more information on a command.  #运行docker命令在帮助可以获取更多信息
    

    相关文章

      网友评论

          本文标题:2.docker基础命令

          本文链接:https://www.haomeiwen.com/subject/msqsaxtx.html