docker需要掌握的程度

什么是Docker?【精通】

  • 定义:是一个开源的容器引擎技术

  • 使用场景:

    • 在环境下进行环境的迁移
  • 实现原理:

    • 是一个分层复用的文件系统;每一层都是一个独立的软件;在最底层复用Linux系统的bootfs
  • 组成(7部分):

    • 仓库:用于存放镜像

    • 本地守护进程:这个就是软件运行的进程

    • 客户端:命令行中的docker 命令

    • 镜像:就是一个制作好的操作系统文件,类似安装操作系统的iso

    • 容器:就是镜像运行起来的运行态系统

    • docker-compose:用于批量管理容器的工具

    • dockerfile:使用脚本来制作镜像的工具

  • 其它:

    • 一台电脑可以运行多个容器,容器与容器之间是相互隔离的(既:每个容器使用的硬件资源相互不影响)

image-20210117104109675.png

安装Windows版本

  • 推荐:

    • 开发用windows版本
    • 测试和生产用linux
  • 安装过程:

    • 升级windows到10
    • 开启wsl2子系统
    • 安装docker的桌面版本
    • 在cmd中输入 docker -v

如何修改Docker为国内镜像下载

  • /etc/docker/daemon.json

    {"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn","https://hub-mirror.c.163.com"]}
    复制代码
  • 重启生效 systemctl restart docker

Docker守护进程/服务的操作命令【6个】【精通】

  • systemctl start docker
  • systemctl stop docker
  • systemctl restart docker
  • systemctl status docker
  • systemctl enable docker
  • systemctl disenable docker

Docker 镜像的操作命令【7个】【精通】

远程镜像

  • docker search 镜像关键字 搜索远程仓库中的镜像

  • docker pull 镜像名称:镜像版本 下载镜像到本地

  • docker push 把本地的镜像上传到远程仓库

本地镜像

  • 删: docker rmi 镜像名称:镜像版本

    • docker rmi 主键
    • 有容器则不能删除对应的镜像
  • 查: docker images

    • docker images -q 指查询镜像的主键
  • 导入:docker load -i 压缩文件名称

  • 导出: docker sava -o 压缩文件名称 镜像名称:版本

Docker容器的操作命令【10个】【精通】

  • docker ps 查看当前有那些运行的容器

    • docker ps -a 查看当前本机有那些容器(运行和停止的容)
  • 创建容器 docker run 参数 镜像名称:版本 启动后执行的命令

    • 交互式:创建后立即进入容器,如果推出容器,则容器自动关闭(exit)

      • docker run -it 镜像名称:版本 /bin/bash
    • 守护式:创建容器后,不自动进入,容器在后台运行

      • docker run -id 镜像名称:版本 启动后执行的命令
  • 进入容器:docker exec -it 【容器的名称、容器的ID】 /bin/bash

  • 删除容器:docker rm 【容器的名称、容器的ID】

    • 运行中的容器不能删除
  • 启动容器:docker start 【容器的名称、容器的ID】

  • 停止容器:docker stop 【容器的名称、容器的ID】

  • 重启容器:docker restart 【容器的名称、容器的ID】

  • 查看容器详情:docker inspect 【容器的名称、容器的ID】

  • 把容器提交成镜像:docker commit 【容器的名称、容器的ID】 镜像名称:版本

  • 查看容器日志:docker logs -f 容器名称

Docker Run创建容器的参数【精通】

  • --name 指定容器的名称

  • -d 后台运行

  • -i 保持容器运行

  • -t 进入终端

  • -v 宿主机的绝对目录:容器内部绝对路径

  • -e 设置容器中的环境变量

  • -p 把容器的服务端口暴露给容器外面的应用访问 -p 宿主机的端口:容器内部端

    • 一个容器可以暴露多个端口
  • --volumes-from=容器名称 复制容器的挂载目录给当前容器

数据卷【熟练】

  • 宿主机:容器运行的操作系统

image-20210117145137616.png

  • 数据卷:是在宿主机上共享了一个目录文件

    • 一个容器可以有多个数据卷
    • 一个数据卷可以被多个容器挂载

image-20210117145605424.png

使用docker安装软件的步骤【熟练】

  • 查询镜像

  • 下载镜像

  • 运行容器 docker run

    • 是否要映射端口给容器外访问?-p
    • 是否需要持久化数据(配置文件、日志、数据)?-v
    • 是否需要修改容器中默认的环境参数?-e

什么是Dockerfile【精通】

  • 定义:是用脚本来指做镜像的工具

  • 常用命令(8条):

    • FROM,指定当前镜像的上一个镜像名称和版本
    • COPY,拷贝宿主机上的文件到镜像中,不解压
    • RUN 在镜像中执行一条linux命令,mkdir /home/123
    • ADD,拷贝宿主机上的文件到镜像中,并且解压缩
    • ENTRYPOINT,镜像运行启动后,执行的命令,不可覆盖
    • CMD,镜像运行启动后,执行的命令,可覆盖
    • ENV,设置环境变量
    • EXPOSE,镜像运行成容器后,自动暴露的端口
  • 使用

    • 创建Dockerfile文件

    • 在文件中编写镜像的操作命令

      FROM centos:7
      RUN yum install -y vim
      WORKDIR /user
      CMD /bin/bash
      复制代码
    • 编译成镜像

      docker build -t 镜像名称:版本 .
      复制代码

      \

猜你喜欢

转载自juejin.im/post/7096656744872411150