zoukankan      html  css  js  c++  java
  • docker笔记1_安装及常用命令


    下一页

    虚拟机与 docker的区别

    1. 虚拟机
      • 就是带环境安装的一种解决方案啊,
      • 在真实系统中,实现应用程序,操作系统和硬件三者之间的逻辑不变,模拟的是整个操作系统
      • 缺点:
        • 需要内存大
        • 启动时间长
        • 冗余步骤
    2. 容器虚拟化技术
      • linux 容器技术,,建立的不是一个完整的操作系统,而是对进程进行隔离,,需要什么,建立什么,
      • 所有容器技术 速度快,使用内存少
      • 比较了Docker和传统虚拟化方式的不同之处:
        • 传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;
        • 而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。

    docker 的基本组成

    1. 镜像 可以生成多个容器示例
    2. 容器
    3. 仓库 分为私有和公有两种

    docker 安装

    1. centos 6.8
      1. yum install -y epel-release
      2. yum install -y docker-io
      3. 安装后的配置文件:/etc/sysconfig/docker
      4. 启动Docker后台服务:service docker start
      5. docker version验证
      6. 配置文件 /etc/sysconfig/docker
    2. centos 7
      • 官网安装
      • 或者菜鸟教程都有安装过程
      • 可以使用阿里或者网易云 的镜像加速器
      • 配置文件 /etc/docker/daemon.json

    docker 的运行原理

    1. Docker是一个Client-Server结构的系统,Docker守护进程运行在主机上, 然后通过Socket连接从客户端访问,守护进程从客户端接受命令并管理运行在主机上的容器。容器,是一个运行时环境,就是我们前面说到的集装箱。
    2. docker为什么比vm快
      1. 少加载硬件资源
      2. 利用真实机的内核,,而不是虚拟化的内核

    Docker 的常用命令

    1. 帮助命令

    1. docker verison or docker -v
    2. docker info 信息描述
    3. docker --help

    1. 镜像命令

    1. docker images 列出本地的镜像

      • REPOSITORY :表示镜像的仓库源
      • TAG : 镜像的标签
      • IMAGE : 镜像ID
      • CREATED :镜像创建时间
      • SIZE : 镜像大小
      1. 参数
        1. a :列出本地所有镜像(含中间镜像层)
        2. q : 只显示镜像ID
        3. –digests:显示镜像的摘要信息4. --no-trunc :显示完整的镜像信息
    2. docker search 某个镜像的名字

      • 参数
        1. –no-trunc 显示完整的镜像描述
        2. -s 列出收藏数不小于指定值的镜像
        3. –automated 只列出automated build 类型的镜像
    3. docker pull 某个镜像名字(TAG)

      • 没有加标签,表示最新的
    4. docket rmi 某个镜像名字ID(TAG)

      • 不加标签,默认删除最新

    1. 容器命令

    1. 新建并启动容器
      1. docker run [option] IMAGE [COMMAND][ARG]
      • option 说明(常用):
        • –name=“容器新名字” 为容器指定一个名称
        • -d : 后台运行容器,并返回容器ID
        • -i : 以交互模式运行容器,通常与-t 同时使用
        • -P :随机端口映射
        • -p : 指定端口映射:
          1. ip:hostPort:containerPort
          2. ip::containerPort
          3. hostPort:containerPort
          4. containerPort
      docker run -it --name "test_centos" centos
      
    2. docker ps[options]
      • options 说明(常用):
        1. -a: 列出当前所有正在运行的容器和历史上运行过得
        2. -i : 显示最近创建的容器
        3. -n:显示最近n个创建的容器
        4. -q:静默模式,只显示容器编号
        5. –no-trunc:不截断输出
    3. 退出容器 - 两种方式
      1. exit : 容器停止退出
      2. ctrl + P + Q :容器不停止退出
      例子
      docker ps -l 
      
    4. 启动容器
      1. docker start 容器ID或者容器名
    5. 重启容器
      1. docker restart 容器ID或者容器名
    6. 停止容器
      1. docker stop 容器ID或者容器名
    7. 强制停止容器
      1. docker kill 容器ID或者容器名
    8. 删除已停止的容器
      1. docker rm 容器ID
        • 没有停止就加-f 强制删除
      2. 一次性删除多个容器
        • docker rm -f $(docker ps -a -q)
        • docker ps -a -q | xargs docker rm
          以下是重要的命令
    9. 启动守护式容器
      1. docker run -d 容器名
        • 没有后台交互的容器,会自动关闭。则换句话说:Docker容器后台运行,就必须有一个前台进程.
        • 所以像ngnix 等,要在前台进行运行
    10. 查看容器日志
      1. docker logs -f -t --tail 容器ID
        • -t 是加入时间戳
        • -f 跟随最新的日志打印
        • –tail 数字 显示最后多少条
      例子
      docker run -d centos /bin/sh -c "while true;do echo hello NIHAO;sleep 2;done"
      
    11. 查看容器内运行的进程
      1. docker top 容器ID
    12. 查看容器内部细节
      1. docker inspect 容器ID
    13. 进入正在运行的容器并以命令行交互
      1. docker exec -it 容器ID bashShell
      2. 重新进入docker attach 容器ID
      3. 上面两个区别
      attach 直接进入容器启动命令的终端,不会启动新的进程
      exec 是在容器中打开新的终端,并且可以启动新的进程
      

    13.从容器内拷贝文件到主机上
    1. docker cp 容器ID:容器内路径 目的主机路径

  • 相关阅读:
    Linux的web服务的介绍
    Linux的DNS主从服务器部署
    K8S Calico
    K8S flannel
    K8S dashboard
    K8S RBAC
    kubernetes认证和serviceaccount
    K8S 部署 ingress-nginx (三) 启用 https
    K8S 部署 ingress-nginx (二) 部署后端为 tomcat
    K8S 部署 ingress-nginx (一) 原理及搭建
  • 原文地址:https://www.cnblogs.com/YJBlog/p/10440699.html
Copyright © 2011-2022 走看看