Docker常用命令 1.帮助启动类命令 systemctl start docker #启动docker systemctl status docker #查看docker的运行状态 systemctl restart docker #重启docker服务 systemctl stop docker #停止docker服务 docker –help #查看docker帮助文档

    查看指定某条docker命令的帮助信息
    docker cp --help

2.docker的镜像命令
    1.docker images 列出本地主机上的镜像
        各属性含义
            REPOSITORY:表示镜像的仓库源
            TAG:镜像的标签版本号。在下载镜像的时候,如果默认不加版本号,就会下载默认最新版本的镜像。
            如果加上指定版本号的镜像,下载的就是对应版本的镜像。
            IMAGE ID:镜像ID
            CREATED:镜像创建时间
            SIZE:镜像大小
            注:同一仓库源可以有多个 TAG版本,代表这个仓库源的不同个版本,我们使用REPOSITORY:TAG 来定义不同的镜像。
        参数
            -a :列出本地所有的镜像(含历史映像层)
            -q :只显示镜像ID。

    2.docker search 某个XXX镜像名字 指定搜索某个镜像的名称。
    docker search redis
        参数
            --limit :只列出N个镜像,默认25个
            docker search --limit 5 redis

    3.docker pull 某个XXX镜像名字 拉取指定的镜像到本地(下载镜像)
    docker pull 镜像名字[:TAG]

    4.docker system df 查看镜像/容器/数据卷所占的空间

    5.docker rmi 某个XXX镜像名字或者ID 删除某个镜像
    注:不能删除正在运行容器的镜像!
    注:docker rmi -f 镜像名1:TAG 镜像名2:TAG 删除多镜像可以使用这个命令    
    注:docker rmi -f $(docker images -qa) 删除所有镜像
        参数
            -f 强制删除

注:仓库名、标签都是<none>的镜像,俗称虚悬镜像。

3.docker的容器命令
    (1)基本命令
        1.启动容器:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
            OPTIONS参数说明(有些是一个减号,有些是两个减号):
            
            --name="容器新名字" 为容器指定一个名称;
            -d: 后台运行容器并返回容器ID,也即启动守护式容器(后台运行);
            
            -i:以交互模式运行容器,通常与 -t 同时使用;
            -t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;也即启动交互式容器(前台有伪终端,等待交互);
            
            -P: 随机端口映射,大写P
            -p: 指定端口映射,小写p

            docker run -it ubuntu /bin/bash
                -i: 交互式操作
                -t: 终端
                ubuntu: ubuntu镜像
                /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,用来解释执行linux指令。因此用的是 /bin/bash
                要退出终端,直接输入 exit

        2.docker ps 列出正在运行的容器
            参数
                -a :列出当前所有正在运行的容器+历史上运行过的
                -l :显示最近创建的容器。
                -n:显示最近n个创建的容器。
                -q :只显示正在运行的容器编号。
        
        3.退出容器的命令
            exit run进去容器,exit退出,容器停止
            ctrl+p+q run进去容器,ctrl+p+q退出,容器不停止

        4.启动已停止运行的容器
            docker start 容器ID或者容器名

        5.重启容器
            docker restart 容器ID或者容器名

        6.停止容器
            docker stop 容器ID或者容器名

        7.强制停止容器
            docker kill 容器ID或容器名

        8.删除已停止的容器
            docker rm 容器ID
            
        9.删除正在运行容器
            docker rm -f 容器ID
            
        10.一次删除多个容器实例
            docker rm -f $(docker ps -a -q)
            docker ps -a -q | xargs docker rm 
            注:xargs 是linux里的一个显式参数
    
    (2)启动守护式容器与进入容器
        1.前台与后台启动
            前台运行redis的方式显示:
            docker run -it redis:6.0.8

            后台运行redis的方式显示:
            docker run -d redis:6.0.8
        
        2.查看容器日志的命令 
            docker logs 容器id

        3.查看容器内运行的进程 
            docker top 容器ID

        4.查看容器内部具体细节命令 
            docker inspect 容器ID

        5.进入容器内部
            docker exec(前台或后台启动都可以进入)
            docker exec -it 6d2d86512480 /bin/bash

            docker attach 容器id(只能进入以前台方式启动的容器)

            注:exec进入后使用exit退出容器,容器不会停止,attach进入后使用exit退出容器,容器停止运行
    
    (3)容器备份
        1.从容器内拷贝文件到主机上
            docker cp 容器ID:容器内路径 目的主机路径
            docker export 608d2057e7e5 > ubuntu.tar.gz
        2.导入和导出容器
            导出
                docker export 容器ID > 文件名.tar(或者.tar.gz)
            导入
                cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号
                cat ubuntu.tar.gz | docker import - wen/ubuntu:1.0