Docker部署Springboot项目

1. 安装docker

# 1、yum 包更新到最新 
yum update
# 2、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的 
yum install -y yum-utils device-mapper-persistent-data lvm2
# 3、 设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 4、 安装docker,出现输入的界面都按 y 
yum install -y docker-ce
# 5、 查看docker版本,验证是否验证成功
docker -v
# 6、设置docker开机自启动
systemctl enable docker

补充命令:
启动docker
systemctl start docker
关闭docker
systemctl stop docker
重启docker服务
systemctl restart docker

在这里插入图片描述
出现docker版本代表安装成功

2. docker安装数据库

# 搜索mysql镜像
docker search mysql
# 拉取mysql镜像
docker pull mysql:5.7
# 创建容器
mkdir ~/mysql
cd ~/mysql
# 设置端口映射、目录映射
docker run -id \
-p 3306:3306 \
--name=c_mysql \
-v $PWD/conf:/etc/mysql/conf.d \
-v $PWD/logs:/logs \
-v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.7
  • -p 3307:3306:将容器的 3306 端口映射到宿主机的 3307 端口。
  • -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。配置目录
  • -v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。日志目录
  • -v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。数据目录
  • -e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码,这里设置的密码要与jar中的数据库密码password一致。
# 查看正在运行的容器
docker ps

在这里插入图片描述

根据id设置容器自启动(容器id填上方划线)

docker update --restart=always 容器id

使用本地的数据库连接工具连接部署好的mysql(主机为服务器的公网ip,端口为映射的主机端口我映射的3307:3306所以此处填写3307,用户名默认root,密码是上一步设置的123456)
在这里插入图片描述

3. 使用数据库连接工具导入数据库以及数据

4. 修改springboot项目配置

在打包之前将项目依赖添加进jar包中
在这里插入图片描述
并设置主类
在这里插入图片描述
在pom.xml文件中添加打包插件

<build>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <configuration>
          <mainClass>
            <!--这里配置添加自己项目启动类的全类名-->
          </mainClass>
        </configuration>
      </plugin>
    </plugins>
  </build>

修改springboot项目的配置文件中数据库连接,并且设置端口
使用maven生命周期的的package命令打包,在target中找到jar包,并且重命名为app.jar
在本地开命令行进入app.jar的目录,使用java -jar app.jar测试jar包是否可用。
在这里插入图片描述
成功启动证明jar包可用

5. 部署springboot项目

在服务器安全组开放对应端口
将app.jar文件使用xftp传输到服务器随便文件夹
在刚刚上传jar的目录,使用Vim编写一个Dockerfile文件(命名就叫这个不需要后缀)
定义父镜像之后,docker会自动的下载配置需要的jdk

FROM openjdk:8  #定义父镜像
MAINTAINER 作者名字<作者邮箱> #定义作者信息
ADD ./app.jar app.jar #将jar包添加到容器
CMD java -jar app.jar  #定义容器启动执行的命令 app.jar的名字可自取

构建镜像(注意后面有点)

#docker build –f (dockerfile文件路径) –t 镜像名称:版本  .
docker build -f ./Dockerfile -t app:1.0.0 .

构建并启动容器

#docker run -id -p 主机端口号:容器端口号 容器名字(app)
docker run -id -p 9095:9095 app

查看正在运行的容器docker ps
在这里插入图片描述

6. 测试

访问接口,成功

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
部署Docker项目,可以使用Docker Compose来定义和运行多个容器。以下是一个简单的步骤: 1. 首先,在云服务器上创建一个文件夹来存放Docker Compose文件。可以使用以下命令创建文件夹: ``` mkdir docker-compose ``` 2. 将项目中的Docker Compose文件上传到刚刚创建的文件夹中。可以使用以下命令将文件从本地上传到云服务器: ``` scp /path/to/docker-compose.yml user@server_ip:/path/to/docker-compose/ ``` 3. 确保服务器上已安装最新版本的Docker。可以使用以下命令安装Docker CE: ``` sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io ``` 4. 安装完Docker后,安装Docker Compose。可以使用以下命令安装最新版本的Docker Compose: ``` sudo curl -L "https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose ``` 5. 确保Docker Compose安装成功。可以使用以下命令检查版本号: ``` docker-compose --version ``` 6. 接下来,进入到存放Docker Compose文件的文件夹: ``` cd /path/to/docker-compose/ ``` 7. 最后,使用以下命令来启动Docker Compose: ``` docker-compose up -d ``` 这将根据Docker Compose文件中定义的配置启动所有容器。请确保已正确配置Docker Compose文件以适应您的项目需求和环境。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [docker部署项目](https://blog.csdn.net/m0_62902168/article/details/124390670)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YonChao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值