layout: post title: 使用docker-compose安装Oracle date: 章于 2024-11-25 15:00:40 发布 author: 'zhangtao' header-img: 'img/post-bg-2015.jpg' catalog: false tags: -Docker -docker-compose -oracle


创建docker-compose.yml文件

注意:先注释掉数据卷

version: '3'
services:
    oracle11:
        image: oracleinanutshell/oracle-xe-11g
        container_name: oracle-11
        privileged: true
        environment:
            - TZ=Asia/Shanghai
        restart: always
        ports:
            - "1521:1521"

#        volumes:
#            - /data/oracle-11/data/oracle/:/u01/app/oracle/

启动容器

docker-compose up -d

复制容器文件到宿主机

mkdir -p /data/oracle-11/data/

docker cp oracle-11:/u01/app/oracle/ /data/oracle-11/data/

img

关闭容器

docker-compose down

修改docker-compose.yml文件,挂载数据卷,实现数据的持久化

version: '3'
services:
    oracle11:
        image: oracleinanutshell/oracle-xe-11g
        container_name: oracle-11
        privileged: true
        environment:
            - TZ=Asia/Shanghai
        restart: always
        ports:
            - "1521:1521"

        volumes:
            - /data/oracle-11/data/oracle/:/u01/app/oracle/

启动容器

docker-compose up -d

连接数据库信息

连接地址:ip:1521
SID:XE
username:system
password:oracle

附:创建用户、命名空间、授权

-- 创建用户、命名空间、授权
create user <username> identified by <password>;
-- 修改密码
alter user <username> identified by <password>;
-- 创建命名空间,注意这里的数据存储文件的位置是在容器的位置,与挂载的数据卷的位置无关
create tablespace <tablespacename> datafile '/u01/app/oracle/oradata/XE/xxx.dbf' size 1000M;
-- 将命名空间授权给用户
alter user <username> default tablespace <tablespacename>;
-- 给用户权限
-- 将最高权限授权给用户
grant create session,create table,create view,create sequence,unlimited tablespace to <username>;
grant dba to <username>;

朋友们好用的话,点赞收藏 朋友们好用的话,点赞收藏 朋友们好用的话,点赞收藏