1.配置要求
    centos7或者更高版本

2.基本命令:
    docker pull 镜像:tag                ##拉去默认仓库tag版本号的镜像
    docker images                       ##查询本地仓库的所有镜像
    docker rmi 镜像id                   ##删除镜像
    docker tag 镜像id 镜像:TAG          ##重命名镜像
    docker ps                           ##查询本地容器
    docker ps -a                        ##查询本地所有运行的容器
    docker export 容器id > x:/xx/xx.tar ##导出容器快照
    docker import 镜像路径 镜像自定义名称        ##导入容器快照
    docker save 镜像id > x:/xx/xx.tar   ##导出镜像
    docker load < x:/xx/xx.tar          ##导入镜像
    
3.docker 运行:
    docker run -it 镜像id/name  /bin/bash
    
4.挂载目录:
    A. docker run -it -v  宿主机目录:容器目录   镜像id/name   /bin/bash
    
    B. 原理:创建一个专门用来挂载目录的容器然后提供给其他容器使用
        docker还提供了一种高级的用法。叫数据卷。
        数据卷:“其实就是一个正常的容器,专门用来提供数据卷供其它容器挂载的”。感觉像是由一个容器定义的一个数据挂载信息。其他的容器启动可以直接挂载数据卷容器中定义的挂载信息。
        示例:
        docker run -v /home/dock/Downloads:/usr/Downloads --name dataVol ubuntu64 /bin/bash
        创建一个普通的容器。用--name给他指定了一个名(不指定的话会生成一个随机的名子)。
        再创建一个新的容器,来使用这个数据卷。
        docker run -it --volumes-from dataVol ubuntu64 /bin/bash
        --volumes-from用来指定要从哪个数据卷来挂载数据。
    
5.容器的停止和启动
    docker stop id
    docker start id
    
6.镜像服务的启动
    启动        systemctl start docker
    守护进程重启   sudo systemctl daemon-reload
    重启docker服务   systemctl restart  docker
    重启docker服务  sudo service docker restart
    关闭docker   service docker stop   
    关闭docker  systemctl stop docker
    
7.docker 环境变量不生效问题
    A./etc/profile 
    用来设置系统环境参数,比如$PATH. 这里面的环境变量是对系统内所有用户生效的。
    B./etc/bashrc 
    这个文件设置系统bash shell相关的东西,对系统内所有用户生效。只要用户运行bash命令,那么这里面的东西就在起作用。
    C.~/.bash_profile 
    用来设置一些环境变量,功能和/etc/profile 类似,但是这个是针对用户来设定的,也就是说,你在/home/user1/.bash_profile 中设定了环境变量,那么这个环境变量只针对 user1 这个用户生效.
    D.~/.bashrc 
    作用类似于/etc/bashrc, 只是针对用户自己而言,不对其他用户生效。  
    另外/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是”父子”关系。

    最终要的是下面这一句:
    ~/.bash_profile 是交互式、login 方式进入 bash 运行的,意思是只有用户登录时才会生效。 
    ~/.bashrc 是交互式 non-login 方式进入 bash 运行的,用户不一定登录,只要以该用户身份运行命令行就会读取该文件。 
    按照上面的观点,启动docker时后应该是非交互方式进入bash,因此就不会读取profile文件,要从~/.bashrc文件下才能加载。

    E.关于这个问题的其他解决方法
        正对docker的环境变量问题还可以通过,docker run 的-e参数,还有在dockerfile中这设置环境变量来解决

    
8.docker镜像中执行exit再进入问题:
    docker ps -al 列出所有的镜像
    docker start -ia 镜像id 再次启动并进入镜像
    
    方式                                    结果                                                            再次启动
    exit(命令)                            退出后,这个容器也就消失了,容器销毁ps查不到                    docker start     容器名/容器id
    Ctrl+D(快捷方式)                        退出后,这个容器也就消失了,容器销毁ps查不到                        docker start     容器名/容器id
    先按,Ctrl+P;再按,Ctrl+Q(快捷方式)    退出容器,ps能查到,还在后台运行                                docker attach     容器名/容器id