• 【应用容器引擎】Docker笔记


    一.Docker是什么?

      Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的linux机器上,也可以实现虚拟化。它是一个轻量级容器技术。

    二.Docker应用场景

      Web 应用的自动化打包和发布。

      自动化测试和持续集成、发布。

      在服务型环境中部署和调整数据库或其他的后台应用。

      从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。

    三.核心概念

      Docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上);

      Docker客户端(Client):连接docker主机进行操作;

      Docker仓库(Registry):用来保存各种打包好的软件镜像;

      Docker镜像(Images):软件打包好的镜像;放在docker仓库中;

      Docker容器(Container):镜像启动后的实例称为一个容器;容器是独立运行的一个或一组应用.

    四.为什么要用Docker

      1、简化程序:Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,便可以实现虚拟化。Docker改变了虚拟化的方式,使开发者可以直接将自己的成果放入Docker中进行管理。方便快捷已经是 Docker的最大优势,过去需要用数天乃至数周的 任务,在Docker容器的处理下,只需要数秒就能完成。

      2、避免选择恐惧症:如果你有选择恐惧症,还是资深患者。Docker 帮你 打包你的纠结!比如 Docker 镜像;Docker 镜像中包含了运行环境和配置,所以 Docker 可以简化部署多种应用实例工作。比如 Web 应用、后台应用、数据库应用、大数据应用比如 Hadoop 集群、消息队列等等都可以打包成一个镜像部署。

      3、节省开支:一方面,云计算时代到来,使开发者不必为了追求效果而配置高额的硬件,Docker 改变了高性能必然高价格的思维定势。Docker 与云的结合,让云空间得到更充分的利用。不仅解决了硬件管理的问题,也改变了虚拟化的方式。

    五.如何使用Docker

      1.docker的安装并启动(这里使用CentOS7安装的)

        (1)查看当前linux的内核版本(Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。)

    uname -r

          如下图所示:

          

        (2)如果内核版本过低,可以更新系统(更新软件和系统)

    yum -y update

        (3)安装Docker(默认安装路径是/var/lib/docker)

    yum install docker

        (4)安装完成后启动Docker进程

    systemctl start docker

        (5)查看Docker版本号

    docker -v

          如下图所示:

          

        (6)Docker设置开机自启

    systemctl enable docker

      2.Docker命令(想了解全部命令的话可以参考其官方文档)

        输入 docker 命令来查看到 Docker 客户端的所有命令选项(通过命令 docker command --help 更深入的了解指定的 Docker 命令使用方法)

      3.Docker的镜像操作

        (1)查看镜像(查看docker仓库中的mysql)

    docker search mysql

        (2)下载镜像(下载mysql)

    docker pull mysql

        (3)使用 docker images 来列出本地主机上的镜像。(如下图)

        

        REPOSITORY:表示镜像的仓库源

        TAG:镜像的标签

        IMAGE ID:镜像ID

        CREATED:镜像创建时间

        SIZE:镜像大小

        (4)删除指定id的镜像

    docker rmi image-id

      4.Docker容器操作(以下列举额的都是常见的操作)

        软件镜像——运行镜像——产生一个容器(正在运行的软件)

        常见的容器操作:

          (1)运行容器(可以不自定义名字,可能需要某些参数,例如mysql需要MYSQL_ROOT_PASSWORD)(一个镜像可以启动多个容器)

     docker run --name 自定义运行后容器的名字 -d 镜像的名字:镜像的标签 

          (2)查看运行中的容器(搭配参数-a可以看到全部容器):

    docker ps

          如下图:

          

          其中CONTAINER ID是容器的ID

            NAMES是容器的名字

        (3)停止运行当前容器

     docker stop CONTAINER ID/NAMES

        (4)删除容器

    docker rm CONTAINER ID

        (5)端口映射(在启动的时候添加端口映射:-p是将主机的端口映射到容器内部的端口 -d是后台运行)

    docker run --name  -d -p 8081:8080 镜像的名字:镜像的标签 

        (6)查看容器日志

    docker logs CONTAINER ID/NAMES

        (7)进入容器

    docker exec -it mysql /bin/bash

        (8)docker inspect : 获取容器/镜像的元数据。

        (9)docker system prune:清理未使用的容器数据。

        (10)docker ps -a -q:查看那些是停止的容器

  • 相关阅读:
    【mybatis】mybatis查询 结果 用map接收,无实体接收 + 关联子表 一并返回主子表的结果
    【mysql】 mybatis实现 主从表 left join 1:n 一对多 分页查询 主表从表都有查询条件 【mybatis】count 统计+JSON查询
    【mysql】获取某个表所有列名【mybatis】
    【mybatis】mybatis中insert操作,返回自增id
    【mybatis】从一个错误,看mybatis中的#和$的区别
    【java】单实例下的 流水号【21位】
    【mysql】新增列 时间戳
    【vue】搭建vue环境以及要安装的所有东西
    【小程序】小程序开发自定义组件的步骤>>>>>>>>>小程序开发过程中报错:jsEnginScriptError
    jmap错误:unknown CollectedHeap type : class sun.jvm.hotspot.gc_interface.CollectedHeap
  • 原文地址:https://www.cnblogs.com/ywb-articles/p/10645228.html
Copyright © 2020-2023  润新知