docker镜像安装oracle11g

docker镜像安装oracle11g

docker pull yycx/oracle11

docker run -itd --privileged --name oracle11g -p 1521:1521 -p 49190:8080 yycx/oracle11

https://hub.docker.com/r/yycx/oracle11

Info
基于jaspeen/oracle-11g,参考经验⁠,已安装Oracle11g(11.2.0.4)版本。

docker run -itd --privileged --name oracle11g -p 1521:1521 -p 49190:8080 -v "filepath\install":/install -v "filepath\dbca.rsp":/assets/dbca.rsp -v "filepath\db_install.rsp":/assets/db_install.rsp jaspeen/oracle-11g

Database located in /opt/oracle folder Port: 1521 SID: orcl

区别:

OS users:

root/install
oracle/install
DB users:

SYS/5208
system/5208
ODBA/5208
Done(参考⁠):

1、解锁scott账户
SQL> alter user scott account unlock;
User altered.
SQL> commit;
Commit complete.
SQL> conn scott/tiger
ERROR:
ORA-28001: the password has expired
Changing password for scott
New password:    设置为了 scott
Retype new password:
Password changed
Connected.
SQL>
2、修改管理员密码
alter user sys identified by 5208;

alter user system identified by 5208;
3、设置密码过期时间为永不过期
Alter PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

4、设置密码登录尝试次数为不受限
alter profile default limit failed_login_attempts unlimited;

5、创建表空间
CREATE SMALLFILE TABLESPACE "ODB" DATAFILE '/opt/oracle/app/oradata/orcl/ODB1' SIZE 500M AUTOEXTEND ON NEXT 500M MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

ALTER TABLESPACE "ODB" ADD DATAFILE '/opt/oracle/app/oradata/orcl/ODB2' SIZE 500M AUTOEXTEND ON NEXT 500M MAXSIZE UNLIMITED;

--同样设置loong表空间以及用户
6、创建用户和密码
create user ODBA identified by 5208 default tablespace ODB;

7、添加dba权限
grant connect,resource,dba to ODBA;

注意,很多oracle11g镜像太老了,拉取时会提示:

PS C:\Users\admin> docker pull doomkin/oracle
Using default tag: latest

What's next:
    View a summary of image vulnerabilities and recommendations → docker scout quickview doomkin/oracle
Error response from daemon: [DEPRECATION NOTICE] Docker Image Format v1 and Docker Image manifest version 2, schema 1 support is disabled by default and will be removed in an upcoming release. Suggest the author of docker.io/doomkin/oracle:latest to upgrade the image to the OCI Format or Docker Image manifest v2, schema 2. More information at https://docs.docker.com/go/deprecated-image-specs/

大意是:

这个错误信息表明您尝试拉取的Docker镜像 doomkin/oracle 使用的是较旧版本的Docker镜像格式,这种格式已经被Docker弃用,并且在未来的版本中将会被移除。

以下是错误信息的详细解释:

  • Docker Image Format v1:这是Docker早期使用的镜像格式。

  • Docker Image manifest version 2, schema 1:这是Docker后来推出的一个镜像格式版本,但仍然不是最新的。

Docker目前推荐使用的是OCI(Open Container Initiative)格式或者Docker Image manifest v2, schema 2。

错误信息建议镜像的作者(在这个案例中是 doomkin/oracle 镜像的维护者)将镜像升级到OCI格式或Docker Image manifest v2, schema 2。

只能找比较新的镜像下载

另外,需要找能连接上的代理服务器,24年11月有效的代理(不一定都有效):

{
  "registry-mirrors": [
    "https://hub.xdark.top",
    "https://hub.littlediary.cn",
    "https://dockerpull.org",
    "https://hub.crdz.gq",
    "https://docker.1panel.live",
    "https://docker.unsee.tech",
    "https://docker.m.daocloud.io",
    "https://docker.kejilion.pro",
    "https://registry.dockermirror.com",
    "https://hub.rat.dev",
    "https://dhub.kubesre.xyz",
    "https://docker.nastool.de",
    "https://docker.udayun.com",
    "https://docker.rainbond.cc",
    "https://hub.geekery.cn",
    "https://docker.1panelproxy.com",
    "https://registry.docker-cn.com",
    "http://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://dockerhub.azk8s.cn",
    "https://mirror.ccs.tencentyun.com",
    "https://registry.cn-hangzhou.aliyuncs.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://docker.1panel.live",
    "https://atomhub.openatom.cn/",
    "https://hub.uuuadc.top",
    "https://docker.anyhub.us.kg",
    "https://dockerhub.jobcher.com",
    "https://dockerhub.icu",
    "https://docker.ckyl.me",
    "https://docker.awsl9527.cn"
  ]
}
[root@oraserver ~]# docker pull yycx/oracle11
Using default tag: latest
latest: Pulling from yycx/oracle11
a3ed95caeb02: Pull complete
667911b019b9: Pull complete
4cde808ec8e8: Pull complete
15da266eb886: Pull complete
5b02b9a223aa: Extracting  2.708GB/2.708GB
latest: Pulling from yycx/oracle11
a3ed95caeb02: Pull complete
667911b019b9: Downloading  64.43MB/64.43MB
4cde808ec8e8: Download complete
15da266eb886: Downloading  22.48MB
5b02b9a223aa: Downloading
latest: Pulling from yycx/oracle11
a3ed95caeb02: Pull complete
667911b019b9: Pull complete
4cde808ec8e8: Pull complete
15da266eb886: Pull complete
5b02b9a223aa: Pull complete
Digest: sha256:b0285ae410ccb7bb7a1b2e4f77469f4f6174808682e28a09bfd6cb31cacaf996
Status: Downloaded newer image for yycx/oracle11:latest
docker.io/yycx/oracle11:latest
[root@oraserver ~]# docker run -itd --privileged --name oracle11g -p 1521:1521 -p 49190:8080 -v "filepath\install":/install -v "filepath\dbca.rsp":/assets/dbca.rsp -v "filepath\db_install.rsp":/assets/db_install.rsp jaspeen/oracle-11g
Unable to find image 'jaspeen/oracle-11g:latest' locally
^C
[root@oraserver ~]# docker run -itd --privileged --name oracle11g -p 1521:1521 -p 49190:8080 yycx/oracle11
768721b39359b98eee134e331c48684be52e02732cd9def4d1e36c411c960f38
[root@oraserver ~]# docker ps
CONTAINER ID   IMAGE           COMMAND                   CREATED         STATUS         PORTS                                                                                    NAMES
768721b39359   yycx/oracle11   "/assets/entrypoint.…"   8 seconds ago   Up 6 seconds   0.0.0.0:1521->1521/tcp, :::1521->1521/tcp, 0.0.0.0:49190->8080/tcp, :::49190->8080/tcp   oracle11g
[root@oraserver ~]#

### 安装配置 Oracle 11g 数据库镜像 #### 准备工作 为了在 Docker 中成功安装和配置 Oracle 11g 数据库,需先准备必要的文件夹结构以及获取合适的 Docker 镜像。 创建用于存储数据的工作目录,并初始化 `docker-compose.yml` 文件: ```bash mkdir -p oracle/data cd oracle touch docker-compose.yml ``` #### 获取镜像 拉取适合的 Oracle 11g 的 Docker 镜像。推荐使用来自阿里云仓库中的 helowin 提供的镜像,因其稳定性较好[^3]。 执行如下命令来下载该镜像: ```bash docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g ``` 确认已成功下载镜像: ```bash docker images ``` #### 启动容器 通过指定参数启动容器,确保能够持久保存数据库文件至主机磁盘,并开放必要端口以便外部访问。这里采用 `-v` 参数映射本地路径 `/home/oracle` 到容器内的 `/data/oracle` 路径下;同时设置容器重启策略为始终自动重启(`--restart=always`)以提高服务可用性。 具体命令如下所示: ```bash docker run --privileged -d \ --restart=always \ -v /home/oracle:/data/oracle \ -p 1521:1521 \ --name oracle11g \ registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g ``` 此操作会基于所选镜像创建一个新的名为 "oracle11g" 的容器实例,在后台持续运行并监听默认的 Oracle 端口号 (即 1521),允许远程连接到新建立的数据库服务器。 #### 使用 Docker Compose 方式简化管理 如果希望进一步简化多服务应用的管理和部署流程,则可以考虑编写 `docker-compose.yml` 来定义所需的服务及其依赖关系。下面是一个简单的例子,它描述了一个仅含单个 Oracle 服务的应用场景[^1]。 ```yaml version: '3' services: db: image: registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g container_name: oracle11g ports: - "1521:1521" volumes: - ./data:/data/oracle restart: always ``` 之后只需在一个命令中即可完成上述所有步骤: ```bash docker-compose up -d ``` 这将依据配置文件的内容构建相应的网络环境和服务集群,极大地方便了日常运维工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值