Rancher Server单容器如何部署使用外部数据库
在Rancher Server中,我们可以使用Docker镜像来部署单容器应用,如果我们的应用需要使用外部数据库,那么我们需要在容器内部配置相应的数据库连接信息,本文将介绍如何在Rancher Server单容器中部署使用外部数据库。
安装并配置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,执行以下命令:
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
文件,添加以下内容:
对于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
评论(0)