对于一些程序员最痛苦的是接手一些“二手系统“, 由于年久失修, 加上裁员离职,系统文档不完善等原因, 只留下服务器配置和代码。
接手人,只能对着这些仅存的代码和服务器硬刚, 对服务器硬刚的第二步,我们需要让服务正常跑起来,由于服务大部分强依赖数据库。本章节,我们就讲解一下如何快速搭建起数据库。
我们只需要知道系统的版本号就可以。对于二手系统一定要用一样版本的数据库,不要一味追求最新版,不然后续各种水土不服,有你受的。
以下我以个人经验,本地搭建oracle数据库为例,其他类型的数据库,方法和思路基本是差不多。
1 工具选择- docker
首推docker工具,docker是现在搭建环境的好工具。根据自己系统,去docker 菜鸟教程网上按照教程安装属于自己的docker工具。
2 数据库官方镜像获取
现在主流的数据库都会在docker镜像官方放出官方镜像, 大家优先选择官方开放的容器镜像。
比如我自己在这上面找到自己的官方镜像oracle docker镜像
3 熟悉官方镜像的使用方式
比如默认的账号、数据存放的路径等等,这些一般官方的github都会写好。
比如我的数据库oracle 官方镜像使用细节
4 设置镜像代理,拉取镜像
由于网络的关系,一般我们拉取docker hub上镜像会有问题。
我们需要配置镜像代理,不同的系统设置方法稍微有点区别
我以windows为例:
我一般设置多个, 免费共享我正在用的镜像代理地址
"registry-mirrors": [
"https://mirrors.tuna.tsinghua.edu.cn/docker-ce",
"https://hub.uuuadc.top",
"https://docker.anyhub.us.kg",
"https://dockerhub.jobcher.com",
"https://dockerhub.icu",
"https://docker.ckyl.me",
"https://docker.awsl9527.cn"
]
5 docker 常用的指令
有了上述的步骤之后,我们接下来可以愉快使用我们的docker工具,接下来,我就记录一些我在使用oracle镜像的常用命令
# 启动oracle
docker run -d --name oracle --privileged -v ./db_data:/opt/oracle/oradata -p 5050:5050 -p 5500:5500 -p 1521:1521 scalified/oracle-database:12.1.0.2-ee
# 获取containerid
docker ps -a
# 交互启动
docker exec -it [containerid] /bin/sh #进入修改
# 停止
docker stop [containerid]
# 彻底删除,防止重名,启动不了
docker rm [containerid]
# 容器文件拷到宿主机
docker cp 06151eb3fbcc:/opt/oracle/imp.log ./imp.log # 文件拷到宿主机
# 查看镜像制作的命令(dockerfile)
docker history scalified/oracle-database:12.1.0.2-ee --no-trunc
# 宿主机文件拷到容器,对于数据库数据导入非常受用
docker cp d:/work/jszx/2024-08-09/DB_OA_FZ_FJJSZX_AUTOFORM.dmp 06151eb3fbcc:/opt/oracle/ # 文件拷贝到容器