目录
五、Spring Boot与Docker
1. Docker简介
Docker 是一个开放源代码软件,是一个开放平台,用于开发应用、交付(shipping)应用、运行应用。 Docker允许用户将基础设施(Infrastructure)中的应用单独分割出来,形成更小的颗粒(容器),从而提高交付软件的速度。
基于Go语言并遵循Apach2.0协议
Docker可让开发者打包他们的应用以及依赖包到一个轻量级、可移指的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化
Docker容器时完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。
2. Docker核心概念
**Docker镜像(Images):**Docker镜像是用于创建Docker容器的模板
**Docker容器(Container):**容器时独立运行的一个或一组应用
**Docker客户端(Client):**客户端通过命令行或者其他工具使用Docker
**API:**与Docker的守护进程通信
**Docker主机(Host):**一个物理或者虚拟的机器用于执行Docker守护进程和容器
**Docker仓库(Registry):**Docker仓库用来保存镜像,可以理解为代码控制中的代码仓库
**Hub:**提供了庞大的镜像集合供使用
3. Docker环境准备
3.1 安装linux虚拟机
虚拟机可以使用VMWare或者VirtualBox,此处使用VirtualBox
安装VirtualBox
下载:
https://www.virtualbox.org/wiki/Downloads
根据向导安装
安装成功运行
安装linux虚拟机
下载CentOS7:官网下载
https://www.centos.org/
安装虚拟机,安装完成
此时双击就可启动linux虚拟机
输入账户名和密码
账户名:root
密码:123456
密码输入不会显示。输完回车即可
登录成功:
使用linux客户端连接linux服务器进行命令操作
安装smartty,官网下载
https://sysprogs.com/SmarTTY/
安装:
设置新的ssh连接
设置虚拟机的网络
在virtualbox中进入网络设置
此时虚拟机与物理机处于同一ip网段
虚拟机输入命令:
service network restart
也可以重启虚拟机
查看linux的ip地址
在virtualbox中输入以下命令,查看虚拟机地址
ip addr
使用smartty连接linux服务器
连接完成
3.2 linux虚拟机安装Docker
查看centos版本
Docker要求CentOs系统的内核版本高于3.10
使用以下命令查看
uname -r
如果低于3.10版本使用以下命令升级:
yum update
安装Docker
使用以下命令:
yum install docker
出现[Y/N],输入y
出现complete安装完成
启动Docker
使用以下命令
systemctl start docker
设置开机自启动docker
systemctl enabledocker
停止docker
systemctl stop docker
4. Docker常用操作命令
4.1 镜像操作
操作 | 命令 | 说明 |
---|---|---|
检索 | docker search 关键字 eg:docker search redis | 我们经常去docker hub上检索镜像的详细信息,如镜像的TAG。 |
拉取 | docker pull 镜像名:tag | :tag是可选的,tag表示标签,多为软件的版本,默认是latest |
列表 | docker images | 查看所有本地镜像 |
删除 | docker rmi image-id | 删除指定的本地镜像 |
https://hub.docker.com/
安装MySQL
docker pull mysql
4.2 容器操作
软件镜像 - - - 运行镜像 - - - 产生一个容器(正在运行的软件)
步骤:
-
搜索镜像
docker search 镜像名 如: docker search tomcat
-
拉取镜像
docker pull 镜像名 如: docker pull tomcat
-
根据镜像启动容器
docker run --name 自定义的容器名 -d 镜像名:TAG -d:表示后台运行 如: docker run --name mytomcat -d tomcat:latest(TAG内容,版本)
-
查看运行中的容器
docker ps
-
停止运行中的容器
docker stop 容器id/容器名 如: docker stop f450272f6d00/mytomcat
-
查看所有容器,包括退出的
docker ps -a
-
启动容器
docker start 容器id//容器名 如: docker start mytomcat
-
删除容器
docker rm 容器id/容器名 如: docker rm mytommcat
-
端口映射,将主机端口映射到容器端口,外部可访问
docker run --name mytomcat -d -p 8888:8080 tomcat
-
如果访问不到,关闭防火墙
service firewalld status 查看防火墙状态
-
查看容器日志
docker logs 容器id 如 docker logs 2164979c5078
使用虚拟机ip和映射端口访问tomcat
ip:8080
如:
0.0.0.0:8080
安装tomcat如果出现以下情况:
不要惊慌,此时时访问到的但是,由于tomcat的webapps目录下没有index.html所以回报404错误
一个镜像可以启动多个容器,只需要运行几次就行
4.3 Docker 安装MySQL
下载MySQL镜像
docker pull mysql
查看镜像
docker images
此时说明,下载完成
启动MySQL容器
docker run -p 本机端口:容器端口 --name 自定义容器名 -e MYSQL_ROOT_PASSWORD=mysql密码 -d mysql:TAG
如:
docker run -p 3306:3306 --name mysql01 -e MYSQL_ROOT_PASSWORD=root -d mysql:latest
此时,外部就可访问连接mysql