docker搭建oracle11g服务

事前准备1. oracle下载版本:11.2.0.1,这个版本可以免费下载,11.2.0.4需要付费帐号才行下载需要登陆Oracle账号,会有授权参数共2个zip包,下载速度很慢,推荐迅雷下载,但是我这里迅雷下第一个zip包很快,第二个非常慢,尝试了腾讯云下载,竟然比迅雷还慢,最后用的阿里云服务器,我这里很快,如果还有免费试用资格的可以试下.下载地址:https://www.oracle...
摘要由CSDN通过智能技术生成

事前准备

篇幅受限制,关于持久化数据的方法请参见我的另一边文章docker搭建oracle服务持久化数据

1. oracle下载

版本:11.2.0.1,这个版本可以免费下载,11.2.0.4需要付费帐号才行
下载需要登陆Oracle账号,会有授权参数共2个zip包,下载速度很慢,推荐迅雷下载,但是我这里迅雷下第一个zip包很快,第二个非常慢,尝试了腾讯云下载,竟然比迅雷还慢,最后用的阿里云服务器,我这里很快,如果还有免费试用资格的可以试下.
下载地址:

https://www.oracle.com/database/technologies/oracle-database-software-downloads.html#11g

在这里插入图片描述

2. 从Jaspeen大神的github,下载/准备相关内容

在这里插入图片描述

1)Dockerfile

https://github.com/jaspeen/oracle-11g/blob/master/Dockerfile
# 基于cnetos:7制作镜像,可以根据自己的需求来选择不同的镜像我这里用的centos:centos7
FROM centos:7

# 作者名:
MAINTAINER shuu

# ADD在Dockerfile进行build时,会将assets目录,复制到容器根目录.
ADD assets /assets

# 修改目录权限
RUN chmod -R 755 /assets
# 执行setup.sh脚本,进行安装前的准备工作
RUN /assets/setup.sh

# 暴露1521和8080端口
EXPOSE 1521
EXPOSE 8080

# 当容器被启动时,会执行entrypoint.sh脚本,进行oracle的安装
CMD ["/assets/entrypoint.sh"]

2)assets目录

此目录中包含了很多脚本,及oracle安装时需要用到的配置文件.

https://github.com/jaspeen/oracle-11g

在这里插入图片描述
在这里插入图片描述

3)将上述的文件放到同一个目录中

在这里插入图片描述

3. assets文件分析

jaspeen是基于oracle11.2.0.4进行的配置,所以如果你下载的压缩包也是相同版本,并且对配置相关信息没有兴趣研究,可以选择略过。

1)colorecho

#!/usr/bin/env bash

ccred='\033[0;31m'
ccyellow='\033[0;33m'
ccgreen='\033[32m'
ccend='\033[0m'

echo_red() {
   
    echo -e "${ccred}$@${ccend}"
}

echo_yellow() {
   
    echo -e "${ccyellow}$@${ccend}"
}

echo_green() {
   
    echo -e "${ccgreen}$@${ccend}"
}

在这里插入图片描述
定义了三个函数,分别用来将echo输出的字体显示为红,黄,绿色

2)setup.sh

# 如果脚本文件中的命令执行后结果状态码不是0,则立即退出脚本.
set -e

# 引入 1)解释过的文件,为了能够使用自定义的带颜色的echo
source /assets/colorecho
# trap的作用:
# 当捕捉到GIGTERM/SIGINT信号时,分别执行对应的命令.
trap "echo_red '******* ERROR: Something went wrong.'; exit 1" SIGTERM
trap "echo_red '******* Caught SIGINT signal. Stopping...'; exit 2" SIGINT

#Install prerequisites directly without virtual package
deps () {
   
	echo "Installing dependencies"
	yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 ksh elfutils-libelf \
	elfutils-libelf-devel glibc glibc-common glibc-devel gcc gcc-c++ libaio libaio.i686 \
	libaio-devel libaio-devel.i686 libgcc libstdc++ libstdc++.i686 libstdc++-devel \
	libstdc++-devel.i686 make sysstat unixODBC unixODBC-devel
	yum clean all
	rm -rf /var/lib/{
   cache,log} /var/log/lastlog
}

users () {
   
	echo "Configuring users"
	# 创建oinstall及dba组,组ID分别为200和201
	groupadd -g 200 oinstall
	groupadd -g 201 dba
	# 创建oracle用户并指定其:
	# 用户id为 400
	# 初始组为 oinstall
	# 附加组为 dba
	# 家目录为 /opt/oracle
	useradd -u 440 -g oinstall -G dba -d /opt/oracle oracle
	# 为oracle及root用户赋予密码,均为install,这里可以自行修改
	echo "oracle:install" | chpasswd
	echo "root:install" | chpasswd
	# 将 /etc/pam.d/login文件中的内容:pam_namespace.so 替换为:下面2行信息(具体看一眼就明白了)
	# pam_namespace.so
	# session    required     pam_limits.so
	# pam_limits.so模块的主要功能是限制用户会话过程中对各种系统资源的使用情况。
	# 缺省情况下该模块的配置文件是/etc/security/limits.conf
	
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值