1.Docker是什么?

   Docker是一个开源的应用容器引擎,实现虚拟机的资源隔离,是一个轻量级容器技术

   Docker是将一个软件编译成镜像,对镜像中的软件进行各种配置,方便其他使用者导入使用,运行中的镜像就称为容器,容器的启动速度比虚拟机快的多。

2.Docker的核心概念?

    Host(主机):安装了Docker的机器                                       

    Client(客户端):连接Docker主机,并用命令行或图形化界面实现和容器守护线程通信

    Regisity(仓库):保存各种打包好的软件镜像                         

    Images(镜像):软件打包好的镜像,存储在仓库中的

    Container(容器):镜像启动后就是一个容器

    安装Docker--->在仓库中找到镜像--->使用Docker运行这个镜像,这个镜像会生成一个容器--->对容器的操作就是对软件的操作

3.Docker的安装?

     1.查看Linux的内核版本,只有在3.10以上才能安装docker

  uname -r

    2.把yum包更新到最新版

  sudo yum update

    3.安装需要的软件包,后两个提供驱动依赖

  sudo yum install -y yum-utils device-mapper-persistent-data lvm2

     4.设置yum源

   sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

    5.查看仓库中的docker版本

   yum list docker-ce --showduplicates | sort -r 

   6.安装docker

  sudo yum install docker-ce

   7.启动docker,设置开机自启动,停止docker

     sudo systemctl start docker

     sudo systemctl enable docker

     sudo systemctl stop docker

   8.查看docker的运行状态

    systemctl status docker.service

4.docker的常用命令

1.镜像操作

  (1).搜索docker中的镜像

  docker search mysql

  (2).拉取下载docker中的镜像(可以下载指定标签的镜像,默认是latese最新版的)

  docker pull 镜像名:tag   例如(docker pull mysql:5.5)

  (3).查看安装的镜像

 docker images

  (4)删除指定的镜像(根据镜像id删除)

  docker rmi images-id

  (5).更换加速节点

  vi /etc/docker/daemon.json

  添加:

  {

    "registry-mirrors": [

      "https://registry.docker-cn.com",

      "http://hub-mirror.c.163.com",

      "https://docker.mirrors.ustc.edu.cn"

    ]

  }

2.容器操作

  (1).搜索和安装镜像

  (2).根据镜像启动容器

  docker run --name mytomcat -d tomcat

  (3).查看运行中的容器

  docker ps

  (4).停止运行中的容器

  docker stop id

  (5).查看所有容器

  docker ps -a

  (6).启动docker容器

  docker start id

  (7).删除容器

  docker rm id

  (8).配置tomcat与虚拟机的映射

  docker run --name mytomcat -d -p 8888:8080 tomcat(其中8888表示虚拟机端口,8080是docker端口)

  (9).查看容器的日志

  docker logs id

  (10).更多的命令文档

  https://docs.docker.com/engine/reference/commandline/docker/

  也可以用不同的虚拟机端口来启动多个tomcat容器,各个容器之间是互相独立且互不干扰的。 

3.docker安装mysql

  错误启动:

按照之前的方式,如2中的第2小条启动,会出现启动错误,需要配置mysql的密码,-e 加上密码之后外界还是访问不到,因为没有添加端口映射

正确启动:

docker run -p 3306:3306 --name mysql02 -e MYSQL_ROOT_PASSWORD=123456 -d mysql

-p   表示端口映射   -e配置mysql的密码

高级应用:

-v /conf/mysql:/etc/mysql/conf.d      

把主机的/conf/mysql文件夹挂载到 mysqldocker容器的/etc/mysql/conf.d文件夹里面

改mysql的配置文件就只需要把mysql配置文件放在自定义的文件夹下(/conf/mysql)

 

-d mysql:tag --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
指定mysql的一些配置参数