Docker连接mysql以及redis部署springboot项目

54次阅读

共计 1520 个字符,预计需要花费 4 分钟才能阅读完成。

写在前面

  • 今天花了一下午时间学习了利用容器化 docker 部署 springboot 项目,其中涉及 docker 创建 mysql 容器以及 redis 容器。阅读本文, 你大概需要花费 12 分钟左右的时间。
  • 版本控制:
    CentOs7.6,SpringBoot2.2.0,mysql5.7,redis3.2,docker1.13.1

一.Docker 安装 mysql

  1. 查看 mysql 镜像包 docker search mysql
  2. 选择一个 mysql 版本并安装

    docker pull mysql:5.7
  3. 查看 docker 容器命令:docker images , 你会发现 mysql5.7 已经安装完毕。
  4. 运行 myql 容器

     docker run -p 3306:3306 -d --name mymysql -v /docker/mysql /data:/usr/share/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
  5. docker 操作 mysql

    1. 输入命令 docker exec -it mymysql bash
    2. mysql -uroot -p 输入密码连接 mysql 进行操作。

二.Docker 安装 redis(类似安装 mysql)

  1. 安装 redis 镜像 docker pull redis:3.2
  2. 运行 redis 容器

    docker run -p 6379:6379 -d --name myredis -v /docker/redis/data:/data redis:3.2 redis-server --appendonly yes
  3. docker 操作 redis docker exec -it myredis redis-cli

三. 部署 springboot 项目

  • springboot 项目打包为 jar 包, 上传到服务器。
  • docker 创建项目镜像以及容器,并启动容器

    注意:项目中的端口号、mysql 配置密码等应当与服务器上一致

1. 打包 springboot 项目

这里就不详细说了,请参考:

  • springboot 项目打包成 jar, 同时解析 jar
  • springboot 打包部署.
2. docker 生成项目镜像和容器
  1. 安装 docker yum -y install docker
  2. 启动 docker service docker start
  3. 安装 JDK8 镜像 docker pull java:8
  4. 创建 Dockerfile 文件生成镜像 sudo vim Dockerfile

     创建镜像文件 docker 默认必须是 Dockerfile, 路径任意 
    FROM java:8
       
    COPY springcloud-2.0-eureka-server.jar app.jar
       
    EXPOSE 8080
       
    ENTRYPOINT ["java","-jar","/app.jar","--spring.profiles.active=prod"]
  5. 生成镜像 docker build -t test (test 为任意名字)
  6. 创建容器 docker create --name test -t -p 8010:8010 test
  7. 启动容器 docker start test
  8. 查看启动日志 docker logs -f test

最后

  1. 参考链接

    • SpringBoot 生成 docker 镜像,完成容器部署
    • docker 安装 mysql 和 redis
  2. docker 常用命令

    • 查看 docker 镜像 docker images
    • 查看 docker 容器 docker ps -a
    • 启动 docker systemctl start docker
    • 停止 docker systemctl stop docker
    • 重启 docker docker restart
    • 开启某 docker 容器 docker start test
    • 删除某 docker 容器 docker rm test_id
    • 删除某 docker 镜像 docker rmi test_id
      必须停止容器后才能删除容器, 删除容器后才能删除镜像

正文完
 0