docker :  官网hub.docker.com
    镜像:docker将应用程序及其所需的依赖、函数、环境、配置等文件打包在一起    
    
    一般是使用liunx部署:centos7以上安装docker(如果有旧版的docker可以先卸载)    
    
    步骤:1安装yum工具  2设置docker镜像源(阿里云)
    3 安装命令 yum install -y  docker -ce  (docker有两个版本ce社区版和ee商业版)
    docker需要用到各种端口,个人学习可以直接关闭防火墙
    关闭命令:systemctl stop firewalld   
    启动docker:system start docker 
    
    镜像常用命令:(镜像名结构 nginx:tag)
    docker配置国内镜像加速(阿里云)      
     本地构建docker build    
    服务器拉取 docker pull  {服务器名:tag} 例如 docker pull nginx
    推送镜像  docker push  
    查看镜像    docker images  
    删除镜像   docker rmi  {镜像名或id}
    保存压缩包镜像 docker save  -o    {输出到那个包}  镜像名
    加载压缩包为镜像 docker load  -i {压缩包名}
    
    容器命令:
    运行  docker run --name { 容器名}      -p{主机端口:容器端口}  -d(后台运行) 镜像名
    暂停  docker pause  容器名
    结束暂停 docker unpause  容器名
    停止 docker stop  容器名
    开始 docker  start  容器名
    查看容器状态  ps    -a(所有) 
    查询日志 docker  logs  -f(持续跟踪日志)  {容器名}
    进入容器执行命令 :docker exec   -it(标准输入、输出)  容器名  bash(终端交互)
    删除容器 docker -f(强删)  rm  容器名
    在容器里面修改文件内容一般用替换命令(太长了想要自己搜)
    

    数据卷命令(volume)
    docker volume :
        创建一个数据卷     create    {数据卷名}
        显示数据卷信息      inspect        {数据卷名}
        列出所有数据卷        ls   
        删除未使用的数据卷    prune
        删除一个或多个指定的数据卷     rm     {数据卷名}
    数据卷挂载在创建容器时挂载  可以在-p参数前 
     添加一个 -v  {数据卷名:挂载到容器的目录}  
    或者  {主机文件:容器的文件}    或{主机目录:容器目录} 
    
    镜像结构:
    baseimage:底层;
    entrypoint:入口,镜像启动的命令
    其他:在baseimage基础上添加依赖、安装程序、完成整个应用的安装和配置
    
    dockerfile文件 通过文件的指定构建镜像(java:8-alpine)
    from 指定基础镜像
    nev  设置环境变量
    copy 拷贝本地文件到镜像的指定目录
    run  执行linux的shell 命令
    expose  指定容器运行时监听的端口
       entrypoint  镜像中应用的启动命令容器运行调用 

    docker-compose文件,通过指定定义集群中的每个容器如何运行
    需要额外安装
    需要给该文件加执行权限 chmod +X  文件路径
    使用步骤
    1定义好dockerCompose.yml文件(服务镜像配置)
    2把微服务的数据库地址和nacos地址改成compose的服务名
    3maven 打包jar,拷贝到对应的目录(每个服务目录对应有dockerfile文件启动)

    启动命令 docker-compose up  -d(nacos 启动较慢,可以优先启动 )
    
    
    私有仓库
    1推送到仓库前必须要重命名镜像,以镜像仓库为前缀
    2镜像推送前需要设置仓库地址配置到docker服务的daemon.json文件中,被docker信任
    3推送使用 docker push
    4 拉取使用docker pull