docker笔记1_安装及常用命令

版权声明:Firewine 的博客,想要转载请标明出处 https://blog.csdn.net/xyjworkgame/article/details/86769279


下一页

虚拟机与 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:容器内路径 目的主机路径

猜你喜欢

转载自blog.csdn.net/xyjworkgame/article/details/86769279