linux-docker简介&&在linux上安装docker(带图文)&&在docker上安装oracle11g史上最全步骤-亲测有效

一、在linux上安装docker


一、docker简介:

1.镜像

docker镜像是一个特殊的文件系统,能够提供容器运行时所需的资源。如果接触过dockerfile的同学应该知道,我们构建镜像时都会选择一个基础镜像(没接触过别担心下面会讲),这说明docker镜像是一层层进行构建的,一个镜像往往由多层文件系统组成。

2.容器

镜像是静态的,镜像运行起来的时候就变成了容器。容器相当于一个完整的操作系统,他可以有自己的文件系统,自己的网络配置。假如我们使用一个mysql容器进行存储数据,这时数据会存储在当前容器的存储层,存储层的生命周期和容器一样,容器消亡时,其存储层也不在了,所以我们在使用这种需要存储数据的容器时,往往都需要指定数据卷Volume(挂载一个宿主机的文件目录),这样即使容器删除,数据也不会消失。

3.仓库

顾名思义,docker仓库即为存储镜像的地方,我们可以将镜像上传至仓库,也可以从仓库下载镜像。这个比较简单,没什么好说的。

二、docker安装

我的linux系统是是centos版本的,安装docker的必要条件是linux系统内核版本大于3.10,

1、用uname -r命令检查内核版本,返回的值大于3.10即可。

2、用sudo wget -qO- https://get.docker.com | sh   命令安装docker。

[root@hadoop01 ~]# sudo wget -qO- https://get.docker.com | sh 

3、安装完成:

4、用docker version命令查看docker版本

5、用service docker start命令启动docker服务

6、 docker info查看docker存储位置

结束

 

二、 docker安装oracle11g


在Linux中安装oracle非常的麻烦,我相信每个人都会遇到各种各样的问题无法解决,为了方便安装与使用,以后可以导出镜像在各个平台移植,这里选用docker来安装oracle数据库,做个详细的笔记

1、安装docker环境,参考上文中的docker安装。

2、开始拉取oracle镜像,直接用pull命令来拉取,如果拉取太慢

         docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

    大约有6个G,需要一段时间,抽根烟静等大约10分钟。

(自己做了一个镜像,有需要的同学可以私我。)

3、下载完成后,查看镜像

     docker images

4、创建容器

        docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

可以写成shell脚本,下次打开oracle数据库就可以一条命令创建容器。

shell脚本如下:

# BEGIN ANSIBLE MANAGED BLOCK
#!/bin/bash
docker rm -f oracle11;
docker run -it -d -p 1521:1521 -v /data/oracle:/data/oracle --name oracle11 registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
# END ANSIBLE MANAGED BLOCK

但为了保存上一次容易的配置值,是不建议写这个shell脚本的,下次打开直接用docker start oracle11命令打开。

  注意:如果创建成功能会返回容器id,小白请自动忽略红色字体部分,除了加快启动速度没啥作用,文章后面会介绍oracle启动命令。

5、进入镜像进行配置

     docker exec -it oracle11 bash

6、进行软连接

      sqlplus /nolog

发现没有该命令,所以切换root用户。

su root 

输入密码:helowin

7、编辑profile文件配置ORACLE环境变量

       打开:vi /etc/profile ,在文件最后写上下面内容:

            export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2

            export ORACLE_SID=helowin

            export PATH=$ORACLE_HOME/bin:$PATH

8、保存后执行source /etc/profile 加载环境变量;

9、创建软连接

            ln -s $ORACLE_HOME/bin/sqlplus /usr/bin

10、切换到oracle 用户

这里还要说一下,一定要写中间的内条 -   必须要,否则软连接无效

11、登录sqlplus并修改sys、system用户密码

      sqlplus /nolog   --登录
     conn /as sysdba  --
     alter user system identified by system;--修改system用户账号密码;
    alter user sys identified by system;--修改sys用户账号密码;
    create user test identified by test; -- 创建内部管理员账号密码;
    grant connect,resource,dba to yan_test; --将dba权限授权给内部管理员账号和密码;
    ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; --修改密码规则策略为密码永不过期;(会出现坑,后面讲解)
    alter system set processes=1000 scope=spfile; --修改数据库最大连接数据;

12、修改以上信息后,需要重新启动数据库;
conn /as sysdba
shutdown immediate; --关闭数据库
startup; --启动数据库

exit:退出软链接

其中一个坑说明:

当执行修改密码的时候出现 :    database not open

      提示数据库没有打开,不急按如下操作

      输入:alter database open;

    注意了:这里也许还会提示  :   ORA-01507: database not mounted

解决办法:

输入:alter database mount;

 输入 :alter database open;

然后就可执行 修改数据库密码的命令了

      改完之后输入:ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

      刷新下表  exit  是退休sql 软连接

三、docker中相关命令


1、查看docker中已经开启的进程:

docker ps

2、查看docker中所有进程(不管有没有开启),第一列会显示进程id号

docker ps -a

3、docker开启进程,(通过docker ps -a查看的id号)

docker start id号

猜你喜欢

转载自blog.csdn.net/weixin_47055922/article/details/108258090