当前位置: 首页 > news >正文

网站建设推广选stso88效果好百度pc网页版入口

网站建设推广选stso88效果好,百度pc网页版入口,网站建设用到的工具,做网站bbs是什么意思一、 容器数据持久化的概念 docker做为容器化的领先技术,现在广泛应用于各个平台中,但不知道什么时候有一个说法是docker并不适用容器化数据库,说容器化的数据库性能不稳定,其实,这个说法主要是因为对docker的数据持…

一、

容器数据持久化的概念

docker做为容器化的领先技术,现在广泛应用于各个平台中,但不知道什么时候有一个说法是docker并不适用容器化数据库,说容器化的数据库性能不稳定,其实,这个说法主要是因为对docker的数据持久化不了解所导致的,数据库持久化做好了,是完全可以在生产环境使用容器化的数据库的

在容器层的 UnionFS(联合文件系统)中对文件/目录的任何修改,无论是手工修改还是

容器在运行过程中的修改,在该容器丢失或被删除后这些修改将全部丢失。即这些修改是无

法保存下来的。若要保存下来这些修改,通常有两种方式:

定制镜像持久化:将这个修改过的容器生成一个新的镜像,让这些修改变为只读的镜像

数据卷持久化:将这些修改通过数据卷同步到宿主机

容器数据持久化主要解决的问题如下:

  • 数据丢失:在默认情况下,Docker容器内部产生的数据存储在其自身的存储层上。当容器停止运行或被删除时,与该容器关联的存储层也会被清理,这意味着所有在容器运行期间生成或修改的数据都将永久丢失。
  • 迁移和备份困难:由于容器存储层与容器生命周期紧密相连,如果需要将数据从一个容器移动到另一个容器,或者需要对数据进行备份和恢复操作,会非常复杂且不可靠。
  • 多容器共享数据:在实际应用中,可能需要多个容器之间共享某些数据,例如数据库服务和Web服务器之间。但是,容器间的直接文件系统交互并不方便,也不利于容器的独立性和可移植性。
  • 性能考量:容器存储层通常是通过联合文件系统(如AUFS、OverlayFS等)实现的,频繁写入这类文件系统的性能可能不如直接写入宿主机的磁盘。

二、

docker+docker-compose 部署Oracle11g数据库+数据持久化

1、镜像下载:

本次实验是在VMware虚拟机上实现的,docker环境搭建部署就不在这里废话了,镜像适用的是阿里云的镜像

[root@centos1 ~]# docker images
REPOSITORY                                             TAG       IMAGE ID       CREATED       SIZE
registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g   latest    3fa112fd3642   8 years ago   6.85GB

镜像pull命令为:

docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
2、
docker和docker-compose的版本说明

docker的版本是 20.10.7 docker-compose的版本是1.25.1  ,需要说明的是,docker版本应该为至少19版本,其它没有要求

[root@centos1 ~]# docker version
Client:Version:           20.10.7API version:       1.41Go version:        go1.13.15Git commit:        f0df350Built:             Wed Jun  2 11:51:04 2021OS/Arch:           linux/amd64Context:           defaultExperimental:      trueServer: Docker Engine - CommunityEngine:Version:          20.10.7API version:      1.41 (minimum version 1.12)Go version:       go1.13.15Git commit:       b0f5bc3Built:            Wed Jun  2 11:55:29 2021OS/Arch:          linux/amd64Experimental:     falsecontainerd:Version:          v1.4.6GitCommit:        d71fcd7d8303cbf684402823e425e9dd2e99285drunc:Version:          1.0.0-rc95GitCommit:        b9ee9c6314599f1b4a7f497e1f1f856fe433d3b7docker-init:Version:          0.19.0GitCommit:        de40ad0
[root@centos1 ~]# docker-compose version
docker-compose version 1.25.1, build a82fef07
docker-py version: 4.1.0
CPython version: 3.7.4
OpenSSL version: OpenSSL 1.1.0l  10 Sep 2019
3、
docker-compose的编排文件

这里需要说明,该名字是固定的,如果不是docker-compose.yml ,重启,停止oracle数据库需要指定配置文件,十分不方便

cat >docker-compose.yml <<EOF
version: '3.1'
services:oracle:image: registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g:latestrestart: alwayscontainer_name: ogports:- "15211:1521"
EOF

 编排文件里没有写volume,这个时候先启动容器,后面在拷贝文件到宿主机目录

启动容器命令为:

docker-compose up -d
4、
将容器中的文件复制到宿主机相关目录内

确保容器状态是正确的

宿主机创建相关用户:

/etc/passwd 文件末尾添加 oracle:x:500:500::/home/oracle:/bin/bash

/etc/group 文件末尾添加 oinstall:x:500:

最为关键的一步,复制需要持久化的文件到宿主机(复制文件的时候,容器必须是正常启动的)

mkdir -p /data/oracle/oradata
docker cp og:/home/oracle/app/oracle/oradata/helowin /data/oracle/oradata/test_data
docker cp og:/home/oracle/app/oracle/flash_recovery_area/helowin /data/oracle/oradata/flash_recovery_area
chown -Rf oracle:oinstall /data/oracle/

 这里说明一下,cp的左边是容器的目录,空格后面的是宿主机的目录,宿主机的目录不需要自己创建,会自动完成,文件很快就拷贝完成,完成后,赋予相关用户权限

5、修改编排文件并重新应用编排文件
 cat >docker-compose.yml <<EOF
version: '3.1'
services:oracle:image: registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g:latestrestart: alwayscontainer_name: ogvolumes:- "/data/oracle/oradata/test_data:/home/oracle/app/oracle/oradata/helowin"- "/data/oracle/oradata/flash_recovery_area:/home/oracle/app/oracle/flash_recovery_area/helowin"ports:- "15211:1521"
EOF

通过上面修改的编排文件,再次启动容器,这里需要先关闭,在启动,不能使用参数restart直接重启哦:

[root@centos1 ~]# docker-compose down
Stopping og ... done
Removing og ... done
Removing network root_default
[root@centos1 ~]# docker-compose up -d
Creating network "root_default" with the default driver
Creating og ... done

应用新编排文件后,查看容器日志,日志里面必须没有任何error:

root@centos1 ~]# docker logs -f og
/home/oracle/app/oracle/product/11.2.0/dbhome_2
Processing Database instance "helowin": log file /home/oracle/app/oracle/product/11.2.0/dbhome_2/startup.log
Fixed Size		    2213776 bytes
Variable Size		  402655344 bytes
Database Buffers	 1191182336 bytes
Redo Buffers		    7360512 bytes
Database mounted.
Database opened.
SQL> Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options/home/oracle/app/oracle/product/11.2.0/dbhome_2/bin/dbstart: Database instance "helowin" warm started.
tail: unrecognized file system type 0x794c7630 for `/home/oracle/app/oracle/product/11.2.0/dbhome_2/startup.log'. Reverting to polling.

🆗,现在Oracle数据库的容器持久化就做好了,使用工具连接也没有任何问题了

sid和服务名都是helowin,随便用哪个都可以,sys用户的密码是oracle,端口由于映射的是15211,因此上面必须这么填写,角色是sysdba

SH这个用户是锁定状态,把锁定去掉后,在重启Oracle容器,可以看到锁定仍然是去掉的,说明持久化成功了

 总结:

关键其实就两步,第一个是不带volume,启动容器,容器正常工作,第二步,拷贝容器内文件到宿主机,赋予权限,然后带上volume,先down容器,在up容器,拷贝文件决定了持久化工作是否正常

http://www.hkea.cn/news/897406/

相关文章:

  • 铜陵公司做网站中国网站排名100
  • 我要建一个网站泰州百度公司代理商
  • php响应式网站模板vi设计公司
  • 随身wifi网站设置广告投放是做什么的
  • 中企动力做网站的优势网络销售平台有哪些软件
  • 网站建设的费用如何查看百度搜索指数
  • 自己做网站需要什么seo的基本步骤
  • 视频直播app开发网站南京最新消息今天
  • 溧阳手机网站哪里做万网域名注册官网查询
  • 网站维护收费推广产品吸引人的句子
  • 怎么用一个主机做多个网站许昌网络推广公司
  • 网站域名所有权郑州网站运营专业乐云seo
  • 桂园精品网站建设费用网站seo查询站长之家
  • 安卓手机怎么做网站站长工具seo综合查询广告
  • 余姚网站建设的公司手机百度账号申请注册
  • 预付网站制作费怎么做凭证如何自制网站
  • 定制网站多少钱北京seo网站管理
  • 南昌做网站公司哪家好如何建立独立网站
  • 成都解放号网站建设什么是百度竞价
  • 网站优化的基本思想与原则百度号码
  • 沧州网站建设制作设计优化深圳seo优化推广
  • 建立一个网站需要什么技术网上培训机构
  • 网站设计与管理论文百度账号注册平台
  • 网站空间商推荐seo是什么职位缩写
  • 怎么建设boss网站文件外链
  • 百度推广网站建设费百度搜索引擎的网址是多少
  • php 手机网站 上传图片定制网站建设
  • 关于网站建设的问题百度关键词分析
  • 登录官方网站装修公司网络推广方案
  • 设计网站官网入口网站搜索优化方法