Docker 部署SrpingBoot + mysql到linux

Docker 部署SrpingBoot + mysql到linux

1、拉取mysql镜像,运行容器。

docker pull mysql – 拉取mysql镜像

docker run --name=mysql -itd -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql 启动mysql实例

–name:指定了容器的名称,方便之后进入容器的命令行

-itd:其中,i是交互式操作,t是一个终端,d指的是在后台运行

-p:指在本地生成一个随机端口,用来映射mysql的3306端口

-e:设置环境变量

MYSQL_ROOT_PASSWORD=root:指定了mysql的root密码

mysql:指运行mysql镜像

docker exec -it mysql_id /bin/bash 通过指定id来进入mysql容器。

mysql -u root -p 登录mysql

2、导入sql数据

Docker 中 MySQL 数据的导入导出

导出:
docker exec some-mysql sh -c 'exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"' > /some/path/on/your/host/all-databases.sql


导入:
docker exec -i some-mysql sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD"' < /some/path/on/your/host/all-databases.sql

导入指定宿主机路径的sql文件。

3、用navicat 进行远程连接测试

  • 如果用navicat链接远程服务器报1251错误,要求你升级navicat版本,则到docker中执行以下操作

  • 首先进入容器

    docker exec -it mysql /bin/bash

  • 进入mysql
    mysql -uroot -p

  • 授权登陆
    GRANT ALL ON *.* TO 'root'@'%';

  • 刷新权限
    flush privileges;

  • 更新加密规则
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

  • 更新root用户密码
    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

  • 刷新权限
    flush privileges;

4、将springboot项目打成jar包。

测试springboot在本地启动无误后。cmd切换到项目所在目录。
执行命令:
mvn clean 清除之前版本
mvn package 打包

5、定义springBoot中Dockerfile

在项目根目录下新建Dockerfile文件。

FROM openjdk:8-alpine
VOLUME /tmp
COPY target/Statistics-0.0.1-SNAPSHOT.jar /Statistics-0.0.1-SNAPSHOT.jar
EXPOSE 8080
ENTRYPOINT [“java”,"-jar","/Statistics-0.0.1-SNAPSHOT.jar"]


  1. from 指定了springboot的运行环境,为linux版本下jdk8。
  2. volume 指定了容器的挂载点。即容器的某个目录直接映射到宿主机的某个目录。相当于该目录挂载在宿主机上。
  3. copy 将宿主机上的jar文件复制到docker容器中。
  4. 暴露容器的8080端口。
  5. entrypoint 即相当于在linux下执行 java -jar命令。运行jar包。

6、构建docker 镜像

在项目根目录下执行命令:
docker build -t wqztmx4/springboot-statistics .

  • wqztmx4/springboot-statistics 是建议镜像名称。其中wqztmx4为docker hub用户名。斜线后面为打包项目的名称。
  • 最后有一个空格后,还有一个点,表示本目录。不要忘记。

7、推送到docker hub

  • 首先登陆docker hub。没有账号,需要先注册一个。
    docker login
  • 推送镜像
    docker push wqztmx4/springboot-statistics
    docker push 后加镜像名称。等待上传完毕即可。

8、部署到linux服务器上。

  1. 首先删除linux上已有的镜像。
    docker rmi -f wqztmx4/springboot-statistics
  2. 直接执行springboot。docker会自动重新拉取镜像。
    docker run --name statistics -it -d -p 8080:8080 wqztmx4/springboot-statistics
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值