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的一些配置参数