为了方便本地测试项目,为了方便开启新的环境,为了方便部署,打算本地利用Docker安装Mysql和Redis。
搭建Springboot项目,编写Dockerfile,打包构建镜像。
简单使用docker-compose启动服务。
简述docker-compose和K8S。
环境
系统:mac
Docker Engine:19.03.8
Mysql:5.7,磁盘挂载目录:/Users/yclxiao/Program/volume/mysql
Redis:5.0.8,磁盘挂载目录:/Users/yclxiao/Program/volume/redis
安装Mysql-5.7
拉取官方镜像
docker pull mysql:5.7
复制代码
查看镜像库
docker images
复制代码
创建mysql的挂载的目录
mkdir -p /Users/yclxiao/Program/volume/mysql/data /Users/yclxiao/Program/volume/mysql/conf /Users/yclxiao/Program/volume/mysql/logs
复制代码
创建cnf文件
cd /Users/yclxiao/Program/volume/mysql/conf
touch my.cnf
复制代码
创建容器,将数据、日志、配置文件,映射到本机
docker run -p 3306:3306 --name mysql -v /Users/yclxiao/Program/volume/mysql/conf:/etc/mysql/conf.d -v /Users/yclxiao/Program/volume/mysql/logs:/logs -v /Users/yclxiao/Program/volume/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=rootpwd -d mysql:5.7
复制代码-d:后台运行容器
-p:将容器的端口映射到本机的端口
-v:将主机目录挂载到容器的目录
-e:设置参数
启动容器
docker start mysql
复制代码
docker run xxx 和 docker start xxx 区别?
docker run:
只有在第一次运行时使用,将镜像放到容器中,以后再次启动容器的时候,只需要使用docker start就可以了。
docker run 相当于执行了2个命令:
docker create:将镜像放入到容器中
docker start:启动容器,变成运行中的容器
docker start:
启动已经存在的容器
用Navicat等工具测试是否能连上
用户名: