五、SpringBoot与docker
1、docker简介
Docker是一个开源的应用容器引擎
Docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像。运行中的这个镜像称为容器,容器启动的是非常快速的,类似windows里面的ghost系统
2、核心概念
docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上);
docker客户端(Client):连接docker主机进行操作;
docker仓库(Registry):用来保存各种打包好的软件镜像;
docker镜像(Images):软件打包好的镜像,放在docker仓库中;
docker容器(Container):镜像启动后的实例称为一个容器;容器是独立运行的一个或一组应用;
使用Docker的步骤:
- 安装docker
- 去docker仓库找到这个软件对应的镜像;
- 使用docker运行这个镜像,这个镜像就会生成一个docker容器;
- 对容器的启动停止就是对这个软件的启动停止;
3、安装docker
-
安装linux虚拟机
1)安装virtualBox
2)导入虚拟机文件cento7
3)双击启动linux虚拟机;使用root/123456登录
4)使用客户端连接linux服务器进行命令操作
5)设置虚拟机网络
桥接网络->选好网卡->接入网线
-
设置好网络以后使用命令重启虚拟机的网络
service network restart
7)查看linux的ip地址
ip addr
8)使用客户端连接
-
-
在虚拟机上安装docker
1)检查内核版本,必须是3.10及以上版本
uname -r
2)安装docker
yum install docker
3)输入y确认安装
4)启动docker
systemctl start docker
5)docker开机启动
systemctl enable docker
6)停止docker
systemctl stop docker
4.docker常用操作
1.镜像操作
检索:相当于再docker hub上检索镜像的详细信息
docker search 关键字
拉取:下载,tag是可选,tag表示标签,默认是latest
docker pull 镜像名:tag
列表:查看所有本地镜像
docker images
删除:删除指定的本地镜像
docker rmi image-id
2.容器操作
软件镜像->运行镜像->产生一个容器(正在运行的软件)
步骤:
-
搜索镜像
docker search tomcat
-
下载镜像
docker pull tomcat
-
根据镜像启动容器(–name:后面跟自定义容器名;-d:后台运行)
docker run --name mytomcat -d tomcat:latest
-
查看运行中的容器
docker ps
-
停止运行中的容器
docker stop mytomcat
-
查看所有的容器
docker ps -a
-
启动容器
docker start mytomcat
-
删除容器
docker rm mytomcat
-
启动一个做了端口映射的tomcat(-d:后台运行;-p:主机端口映射到容器端口【主机端口:容器内部的端口】)
docker run --name mytomcat -d -p 8888:8080 tomcat
-
查看防火墙状态
service firewalld status;查看防火墙状态 service firewalld stop;关闭防火墙
-
查看容器的日志
docker logs container-name/container-id
5. 环境搭建
安装mysql
docker pull mysql
错误的启动
docker run --name mysql01 -d mysql
2020-04-20 07:42:46+00:00 [ERROR] [Entrypoint]: Database is uninitialized and password option is not specified
You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD
正确的启动(做了端口映射)
docker run -p 3306:3306 --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
几个其他的高级操作:
docker run --name mysql03 -v /my/cutom:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 mysql:tag
把主机的/my/cutom文件夹挂载到mysqldocker容器的/etc/mysql/conf.d文件夹里面,这样启动mysql就会按照主机路径下的配置文件启动,将配置文件合并
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:tag --character-set-server=utf8m64 --collation-server=utf8m64_unicode_ci