一.Docker部署web项目-jar包
①搜索mysql镜像
docker search mysql
②拉取镜像至本地仓库(本文选取的mysql镜像5.7版本)
docker pull mysql/mysql-server:5.7
查看拉取的镜像并记录id
docker images
③在/usr/local/webapp目录下准备jdk linux压缩包及maven生成的jar包
解压jdk压缩包
cd /usr/local/webapp
tar -zxvf jdk-8u191-linux-x64.tar.gz
④同样在/usr/local/webapp目录下创建Dockerfile脚本文件,添加以下内容:
FROM docker.io/mysql/mysql-server:5.7 MAINTAINER 1113269393@qq.com COPY ./mySpringBoot-0.0.1-SNAPSHOT.jar /usr/local/webapps COPY ./jdk1.8.0_191/ /usr/local/jdk ENV JAVA_HOME /usr/local/jdk ENV JRE_HOME $JAVA_HOME/jre ENV CLASSPATH .:$JAVA_HOME/lib:$JRE_HOME/lib ENV PATH $PATH:$JAVA_HOME/bin
docker命令构建镜像,构建成功后用docker images命令可查询到此镜像
docker build -t webapps/webimage:1.0 --rm=true .
docker images
⑤用docker命令将上一步生成的镜像启动为一个容器实例
- -d后台运行
- --name 容器名称
- -p 映射端口号
- -e 运行参数 初始化mysql数据库密码为123456
docker run -d --name myspringboot -p 8080:8080 -e MYSQL\_ROOT\_PASSWORD=123456 webapps/webimage:1.0
查询容器实例
docker ps -a
⑥环境验证
根据上一步查询的容器id进入docker容器
docker exec -it 8d36625201cc bash
验证jdk安装环境
java -version
验证mysql安装环境
mysql -V
⑦配置mysql 允许远程连接
#登录mysql数据库 mysql -u root -p #切换到mysql数据库 use mysql; #更改远程连接 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION; #命令刷新刚才修改的权限 flush privileges; #查询root用户host是否为% select host,user from user;
⑧将项目数据库导入mysql
⑨运行springboot项目
cd /usr/local/webapps
java -jar mySpringBoot-0.0.1-SNAPSHOT.jar