docker总结

总结

视频地址

docker特点
  1. 一次编译,导出运行
  2. 1个进程1个容器
    docker 层级
  3. 分层构建
    1. 底层构建的是bootfs如centos、ubuntu、susu、、、等系统镜像
    2. 上层就是应用。tomcat、nginx、、、
  4. 联合挂载

    底层和上层共同构建成一个完成的镜像
    docker 架构
  5. docker daemon
  6. docker client
  7. docker registry
    1. 每个应用程序都是一个仓库,程序的版本是通过tag来区分的。
      镜像是静态的只读的。容器是动态的。类似于程序和进程的关系。
      docker 镜像加速
      /etc/docker/daemon.json添加
      1
      2
      3
      {
      "registry-mirrors": ["https://registry.docker-cn.com"]
      }

重启systemclt restart docker.service

docker 基本命令
  1. 查看运行的docker镜像信息

    1
    docker inspect <containerid>
  2. 终端进入

    1
    docker exec -it -d 1d15525b4980  /bin/sh
docker volume

docker绑定挂载卷有两种方式

  1. docker manage volumn

    docker内部指定需要挂载的目录,宿主机会自动监理一个目录与之对应

    1
    docker run --name b2 -it -v /data busybox
  2. docker, host

    指定docker内部与宿主机目录的指定关系

    1
    docker run --name b2 -it -v --rm /data/volumn/b2:/data busybox

dockerfile

作用路径
  1. dockerfile的作用目录就是文件dockerfile所在目录下的所有目录。
  2. .dockeringore,可以排除那些不需要编排到容器中的文件
    文件复制
    COPY、ADD
    1
    2
    3
    # 将宿主机的文件或者目录打包到镜像中。
    # 如果src是目录,则复制的是src下的所有文件
    COPY <src> <dest>
workdir

指定镜像工作目录,后续的指令就是以这个目录作为根目录来编排的。

volumn

镜像内部卷挂载目录

expose

端口暴露

1
expose <port>/<protocol>

ENV 设置镜像环境变量
1
ENV <key>=<value>
1
ENV DOC_ROOT=/data/web/html
启动时设定环境变量
1
docker run -e
RUN、CMD
  1. RUN 运行于docker build阶段
  2. CMD运行于 docker run阶段