Rancher Server单容器如何部署使用外部数据库

在Rancher Server中,我们可以使用Docker镜像来部署单容器应用,如果我们的应用需要使用外部数据库,那么我们需要在容器内部配置相应的数据库连接信息,本文将介绍如何在Rancher Server单容器中部署使用外部数据库。

rancher 容器编排rancher 容器编排

安装并配置MySQL

1、1 安装MySQL

在容器内部安装MySQL,首先需要下载MySQL的Docker镜像,执行以下命令:

docker pull mysql:latest

1、2 运行MySQL容器

使用以下命令运行一个名为mysql的MySQL容器:

docker run --name mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -p 3306:3306 -d mysql:latest

这个命令会创建一个名为mysql的容器,并设置root用户的密码为my-secret-pw,将容器内的3306端口映射到宿主机的3306端口。

安装并配置PostgreSQL

2、1 安装PostgreSQL

和MySQL类似,我们也可以使用Docker镜像来安装PostgreSQL,执行以下命令:

rancher 容器编排rancher 容器编排

docker pull postgres:latest

2、2 运行PostgreSQL容器

使用以下命令运行一个名为postgres的PostgreSQL容器:

docker run --name postgres -e POSTGRES_PASSWORD=my-secret-pw -p 5432:5432 -d postgres:latest

这个命令会创建一个名为postgres的容器,并设置数据库的密码为my-secret-pw,将容器内的5432端口映射到宿主机的5432端口。

编写应用配置文件

3、1 创建配置文件目录

在应用的根目录下创建一个名为config的目录,用于存放配置文件,然后在该目录下创建一个名为database.yml的文件,用于存放数据库连接信息。

mkdir -p config/database.yml

3、2 编辑配置文件

使用文本编辑器打开database.yml文件,添加以下内容:

rancher 容器编排rancher 容器编排

对于MySQL:

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&allowPublicKeyRetrieval=true&serverTimezone=UTC&useSSL=false&allowLegacyDatetimeCode=false&useSSLFactory=org.postgresql.ssl.NonValidatingFactory&requireSSL=false&allowPeerSignedCerts=false&serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC&useSSL=false&allowLegacyDatetimeCode=false&useSSLFactory=org.postgresql.ssl.NonValidatingFactory&requireSSL=false&allowPeerSignedCerts=false{properties}
    username: myuser
    password: mypassword

对于PostgreSQL:

spring:
  datasource:
    url: jdbc:postgresql://localhost:5432/mydb?currentSchema=public&sslmode=disable&sslfactory=org.postgresql.ssl.NonValidatingFactory&sslcompression=false&sslencryption=false&connectTimeout=30000&socketTimeout=60000&autoReconnect=true&failOverReadOnly=false&maxReconnects=10000{properties}
    username: myuser
    password: mypassword

{properties}部分是自定义属性,可以根据需要进行配置,可以设置连接池的大小、超时时间等,具体配置方法可以参考官方文档。

修改应用启动脚本(可选)

如果我们的应用是一个Spring Boot应用,那么我们还需要修改应用的启动脚本,以便在启动时加载配置文件中的数据库连接信息,具体操作方法取决于应用使用的技术栈框架,在使用Spring Boot时,我们可以在src/main/resources/application.properties文件中添加以下内容:

spring.datasource.url=jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&allowPublicKeyRetrieval=true&serverTimezone=UTC&useSSL=false&allowLegacyDatetimeCode=false&useSSLFactory=org.postgresql.ssl.NonValidatingFactory&requireSSL=false&allowPeerSignedCerts=false{properties}
spring.datasource.username=myuser
spring.datasource.password=mypassword
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。