使用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/

使用docker-compose安装Oracle_第1张图片

关闭容器

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>;

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

你可能感兴趣的:(Docker,docker-compose,oracle)