画布 1
Docker课堂大纲
  1.环境搭建
    包环境部署
    二进制部署
  2.镜像
    1.查看镜像
      docker image ls| docker images
        -a
        -q
      docker image inspect
        -f
    2.下载镜像
      docker image pull | docker pull
    3.给镜像打标签
      docker image tag | docker tag
    4.导出镜像
      docker image save | docker save
        -o
        >
    5.导入镜像
      docker image load | docker load
        -i
        <
    6.删除镜像
      docker image rm | docker rmi
    7.查看镜像的构建信息
      docker image history| docker history
    8.编译镜像
      docker image build | docker build
        -f
        --build-arg
        -t
  3.容器
    1.常用的命令
      1.运行容器
        docker container run | docker run
          -i
          -t
          -d
          -p
          --name
          -e
          -v
          --network
          -P
          --ip
          --restart
          --rm
      2.查看容器
        docker container ls | docker container ps | docker ps
          -q
          -a
          -l
          -s
      3.删除容器
        docker container rm | docker rm
          -f
      4.在容器中执行命令
        docke exex
          -t
          -i
      5.容器的，创建，启停，进程管理
        1.创建容器
          docker container create | docker create
        2.启动容器
          docker container start | docker start
        3.停止容器
          docker container stop | docker stop
        4.重启容器
          docker container restart | docker restart
        5.杀死容器
          docker container kill | docker kill
        6.修改容器的名称
          docker container rename | docker rename
        7.查看容器的详细信息
          docker container inspect | docker inspect
        8.查看docker的进程信息
          docker container top
        9.查看docker的状态
          docker container stats | docker stats
        10.暂停容器
          docker container pause | docker pause
          docker container unpause | docker unpause
      6.日志查看
        docker container logs | docker logs
          -f
          --since
          -t
          --until
      7.拷贝
        docker contaienr cp | docker cp
      8.提交镜像
        docker container commit | docker commit
    2.重启策略
      no
      always
      unless-stoped
      on-failure[:max]
    3.端口映射
      语法格式: [宿主机的IP地址]:[宿主机端口]:容器端口/协议
      举例
        最常用： -p 80:80
        -p 127.0.0.1:81:80/tcp
        -p 127.0.0.1::80
        -p 127.0.0.1::53/udp
      端口映射的原理
    4.存储卷
      1.宿主机的指定路径
        docker run -v /oldboyedu/data:/var/www/html ...
      2.容器规定的存储目录
        存储卷
          docker volume ls
          docker volume prune -f
          docker volume rm
          docker volume inspect | docker inspect
          docker volume create
      举例
        docker run -v oldboyedu:/data ....
        docker run -v /usr/share/nginx/html ...
        docker run --volumes-from 容器名称 ...
    5.网络
      单机网络
        none
        bridge
        host
        container
        custom network
      跨节点网络
        macvlan
        overlay
        flannel
    6.容器的状态
      Up
      Exited
      Create
      Puase
    7.docker底层用到的Linux特性
      iptables
      chroot
      overlayFS
      namesapce
      cgroups
  4.镜像构建
    1.手动构建镜像
      优点
        1.不用学习新的知识，安装虚拟机的步骤安装服务并手动提交镜像即可
      缺点
        1.体积大小过大
        2.不利于修改
        3.无法利用缓存
    Dockefile自动构建镜像
      1.常用的指令
        FROM
        RUN
        COPY
        ADD
        ENV
        ARG
        CMD
        MAINTAINER
        LABEL
        VOLUME
        EXPOSE
        WORKDIR
        ENTRYPOINT
        ONBUILD
        HEALTHCHECK
        USER
        SHELL
      优化思路
        1.编译速度
          1.尽可能使用缓存，将不经常修改的Dockerfile指令往上放，经常修改的指令往下放。
          2.忽略不必要为文件
          3.使用本地仓库或者国内的镜像源
          4.较大的软件包提前下载
        2.镜像大小
          1.使用较小的基础镜像
          2.删除缓存
          3.合并指令较少镜像分层
          4.多阶段构建，只拷贝有用的程序文件
    docker-compose
      作用： 管理一组容器或镜像。
      镜像管理
        docker-compose build
        docker-compose push
        docker-compose pull
        ....
      容器管理
        docker-compose up
        docker-compose down
        docker-compose start
        docker-compose stop
        docker-compose restart
        docker-compose logs
        docker-compose exec
        ...
  5.私有镜像仓库
    docker hub官方
      需要翻墙
    自建的私有仓库
      docker registry
        推送镜像
        拉取镜像
        删除镜像
        查看镜像
      vmware harbor
        基础管理
          推送镜像
          拉取镜像
          删除镜像
          查看镜像
        高可用的解决方案
          基于nfs|cephFS实现共享存储
          keepalived + 定时复制规则
        环境搭建
          http
          https
            官方证书
            自建证书
    第三方镜像仓库
      阿里云
      华为云
  6.containerd
    ctrl管理镜像
    ctrl管理容器
    ctrl管理名称空间
    ctrl管理task任务
    ctrl推送镜像到harbor仓库
    dockerd和containerd集成使用