docker挂载文件

安装docker
安装docker时一定要注意安装的那个盘符多大.什么几十G也是太小了,你要想下,到时再docker安装Oracle mysql等容器,这样就会撑大,而且还要往里面导入数据,这样的话就不够,到时你导入dmp文件到Oracle中,创建空间就报各种错,

修改docker位置:
我的系统是Centos7,解决的具体步骤如下:

1、停止docker服务。

systemctl stop docker; //每个liunx版本的命令不一样。

2、创建新的docker目录,执行命令df -h,找一个大的磁盘。我的是放在/home目录下面,我的/home目录大小有900G。 我在 /home目录下面建了 /home/docker/lib目录,执行的命令是:mkdir -p /home/docker/lib

3、迁移/var/lib/docker目录下面的文件到 /home/docker/lib下面

cp -R /var/lib/docker/* /home/docker/lib/

注意:如果文件内容很多的话,为了确保成功最好是一个文件一个文件的拷贝。如果在拷贝过程中报“设备上没有空间”的错误,就使用mv剪切。

4、修改docker配置(/etc/systemd/system/docker.service.d/devicemapper.conf),在文件末添加 --graph=/home/docker/lib

devicemapper.conf文件的内容如下:

[Service]

ExecStart=

ExecStart=/usr/bin/dockerd --insecure-registry=私服地址 --graph=/home/docker/lib

注意:如果/etc/systemd/system/docker.service.d/devicemapper.conf,这个路径找不到的话,就新建,新建之后加入内容,没有私服地址的话就可以去掉”–insecure-registry=私服地址”。

5、重载配置,重启docker

systemctl daemon-reload;

systemctl restart docker;

systemctl enable docker;

6、启动成功后,确定容器没问题后删除/var/lib/docker/目录中的文件,然后就OK了

在docker下安装了Oracle后,要进入Oracle的命令界面需要先前执行下面这条命令:

docker exec -it oracle bash
然后进入Oracle:
sqlplus system/oracle

得到的画面是:
docker挂载文件_第1张图片

而后装了Oracle后把dmp文件传入到Oracle数据库;
这时需要注意,需要执行挂在文件命令
Docker容器启动的时候,如果要挂载宿主机的一个目录,可以用-v参数指定
譬如我要启动一个centos容器,宿主机的/test目录挂载到容器的/soft目录,可通过以下方式指定:
(注意:最好是在启动Oracle时同时创建挂载文件)

# docker run -v /testdocker:/soft --name oracle -d -p 1521:1521 -e ORACLE_ALLOW_REMOTE=true wnameless/oracle-xe-11g

--name 就是别名  oracle    -d 后台执行   -p 暴露端口    这个必须要 不然外界访问不到 1521端口  -e 就是设置 运行环境  设置为 允许远程访问,, 后面就是容器名称 默认端口  latest:默认版本

这样在容器启动后,容器内会自动创建/soft的目录。通过这种方式,我们可以明确一点,即-v参数中,冒号":"前面的目录是宿主机目录,后面的目录是容器内目录。
在没有这个test的目录时会自动创建

导入dmp数据时要创建表空间
CGWS:为表空间名
‘/u01/app/oracle/oradata/XE/cgwss.dbf’ :表空间路径 (查找表空间路径:select * from dba_data_files;)

CREATE TABLESPACE CGWS LOGGING DATAFILE '/u01/app/oracle/oradata/XE/cgwss.dbf' SIZE 1G AUTOEXTEND ON NEXT 35M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL;

// 创建用户连接表空间
CREATE USER CGW IDENTIFIED BY 123456 ACCOUNT UNLOCK DEFAULT TABLESPACE CGWS;

//赋予用户权限
GRANT CONNECT,RESOURCE TO CGW;
GRANT DBA TO CGW;

导入imp文件.可以根据导入那个用户,在执行 docker exec -it oracle bash
界面后导入文件
命令:

imp SYSTEM/123456 file=/soft/cgwsp2018-06-15.dmp  tablespaces=CGWS ignore=y  full=y 

linux中启动oracle主要分两步:一个是启动监听器,一个是启动实例。

工具/原料
linux 安装 oracle数据库
SecureCRT 任意ssh连接工具都可以

方法/步骤
一、secureCRT连接到数据库所在的linux机器,切换到oracle用户模式下
[root@nstlbeta ~]# su - oracle

二、然后用sqlplus登录到数据库,关闭数据库
[oracle@nstlbeta bin]$ sqlplus /nolog //登录sqlplus
SQL> connect /as sysdba //连接oracle
SQL> startup //起动数据库
SQL> exit //退出sqlplus ,起动监听

三、起动监听
[oracle@nstlbeta bin]$ cd O R A C L E H O M E / b i n / / 进 入 o r a c l e 安 装 目 录 [ o r a c l e @ n s t l b e t a b i n ] ORACLE_HOME/bin //进入oracle安装目录 [oracle@nstlbeta bin] ORACLEHOME/bin//oracle[oracle@nstlbetabin] lsnrctl start //起动监听

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

你可能感兴趣的:(docker)