其实就是拉别人做好的镜像,没啥技术含量
在 CentOS 上安装 Docker 引擎
Docker官方教程 https://docs.docker.com/engine/install/centos/
使用存储库安装
在新主机上首次安装 Docker Engine 之前,需要设置 Docker 存储库。之后,您可以从存储库安装和更新Docker。
设置存储库
安装yum-utils
包(提供yum-config-manager
实用程序)并设置稳定存储库。 这个也很快,无需换源阿里源
$ sudo yum install -y yum-utils
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 阿里源
在线安装 Docker 引擎
-
安装最新版本的 Docker Engine 和 containerd
$ sudo yum install docker-ce docker-ce-cli containerd.io
-
启动 Docker。
$ sudo systemctl start docker $ sudo systemctl enable docker #设置开机自启动
-
通过运行
hello-world
映像验证 Docker Engine 是否已正确安装。$ sudo docker run hello-world
在 Docker上安装 oracle_11g
1、下载oracle镜像
sudo docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
2、检查镜像
sudo docker images
3、运行镜像
sudo docker run --restart=always -d -p 8080:8080 -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
4、配置oracle服务
step1:进入容器
docker exec -it oracle11g /bin/bash
step2:修改环境变量
su root
#注意此时密码是: helowin
vi /etc/profile
定位到 unset -f pathmunge
后,按下o换到下一行插入模式,粘贴如下环境变量,按esc 输入 :wq!
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH
刷新环境变量,****
source /etc/profile
step3:配置软连接
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
5、修改oracle用户
#容器切换oracle用户
su oracle
登录oracle dba
sqlplus /nolog;
进入SQL后
conn /as sysdba;
修改初始账号
alter user system identified by system;
alter user sys identified by system;
添加自己的dba账号
create user my_account identified by my_password;
grant connect,resource,dba to my_account;
设置密码永不过期
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
关闭
shutdown;
启动数据库
startup
## 测试
-- 创建表空间
-- 默认设置表空间自动扩展,且每次扩展空间大小为100M,限制最大空间为5G,注:datafile后面是表空间的物理存储路径,文件名的后缀可以随便.
create tablespace test_user01 datafile '/home/oracle/app/oracle/oradata/helowin/test_user01.dbf' size 200M autoextend on next 100m maxsize 5G;
-- 创建用户
create user test_user01 identified by test_user01;
-- 分配表空间到用户
alter user test_user01 default tablespace test_user01;
-- 赋权sysdba权限
grant sysdba to test_user01;
-- 赋权其他权限,否则无法登录
grant create session,create table,create view,create sequence,connect,resource,unlimited tablespace to test_user01;
-- 尝试用test_user01登录
conn test_user01/test_user01;
-- 登录之后查询用户所具有的权限
select * from session_privs;
!重启后再次进入登录
进入root用户后直接进入 或 从普通用户进入docker
[centos8@localhost ~]$ sudo docker exec -it oracle11g bash
或
[root@localhost centos8]# docker exec -it oracle11g bash
[oracle@6297c5db7817 /]$source /etc/profile # 每次进入刷新下环境变量
[oracle@6297c5db7817 /]$ sqlplus /nolog
退出
SQL> exit
[oracle@6297c5db7817 /]$ exit
exit
[root@localhost centos8]#
相关指令
systemctl status docker 可查docker状态
docker ps 查看当前运行的容器
[oracle@6297c5db7817 /]$ sqlplus /nolop
若报错
Error 6 initializing SQL*Plus
SP2-0667: Message file sp1<lang>.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory
那就,再来一次
[oracle@6297c5db7817 /]$ source /etc/profile
[oracle@6297c5db7817 /]$ sqlplus /nolog