我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何进行 11.2.0.4 DG for linux 部署

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何进行 11.2.0.4  DG for linux 部署

如何进行 11.2.0.4  DG for linux 部署,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

1、oracle数据库 DB的工作示意图
如何进行 11.2.0.4  DG for linux 部署
2、oracle dg的三大工作模式及对数据库的需求依赖
如何进行 11.2.0.4  DG for linux 部署
3、本次实验的环境
如何进行 11.2.0.4  DG for linux 部署
4、oracle DG部署前的工作
    在centdgpri机器上部署Oracle 11.2.0.4数据库软件并部署实例,在centdgstd机器上只安装Oracle数据库软件,要求centdgpri和centdgstd机器上的oracle环境即数据库相关的软件部署路径最好保持一致。

5、oracle DG的部署
主库调整,开启归档
archive log list;
shutdown immediate;
startup mount;
alter system set log_archive_dest_1='location=/opt/oracle/arch';
alter database archivelog;
archive log list;
alter database open;
alter system archive log current


主库调整,开启闪回

select force_logging, FLASHBACK_ON from v$database; 
alter database force logging;
alter system set  DB_RECOVERY_FILE_DEST_SIZE=10g;
alter system set db_recovery_file_dest='/opt/oracle/flash_recovery_area';
alter database FLASHBACK ON;
select force_logging, FLASHBACK_ON from v$database;

主库调整,添加standby logfile日志
set linesize 1000
col member for a50
select * from v$logfile order by 1;
select GROUP#  ,BYTES/1024/1024 size_M,STATUS,ARCHIVED from v$log;
alter database add standby logfile group 6 ('/opt/oracle/oradata/redo06.log') size 50m; 
alter database add standby logfile group 7 ('/opt/oracle/oradata/redo07.log') size 50m; 
alter database add standby logfile group 8 ('/opt/oracle/oradata/redo08.log') size 50m; 
alter database add standby logfile group 9 ('/opt/oracle/oradata/redo09.log') size 50m; 
alter database add standby logfile group 10 ('/opt/oracle/oradata/redo10.log') size 50m; 

主库调整,修改数据库启动pfile文件

orcl.__db_cache_size=327155712

orcl.__java_pool_size=4194304

orcl.__large_pool_size=8388608

orcl.__oracle_base='/opt/oracle'#ORACLE_BASE  set from environment

orcl.__pga_aggregate_target=314572800

orcl.__sga_target=469762048

orcl.__shared_io_pool_size=0

orcl.__shared_pool_size=117440512

orcl.__streams_pool_size=0

*.audit_file_dest='/opt/oracle/admin/orcl/adump'

*.audit_trail='db'

*.compatible='11.2.0.4.0'

*.control_files='/opt/oracle/oradata/orcl/control01.ctl','/opt/oracle/oradata/orcl/control02.ctl'

*.db_block_size=8192

*.db_domain=''

*.db_name='orcl'

*.diagnostic_dest='/opt/oracle'

*.dispatchers='(PROTOCOL=TCP)  (SERVICE=orclXDB)'

*.log_archive_dest_1='location=/opt/arch'

*.memory_target=783286272

*.open_cursors=300

*.processes=150

*.remote_login_passwordfile='EXCLUSIVE'

*.undo_tablespace='UNDOTBS1'



DB_UNIQUE_NAME='orcl'

log_archive_config='DG_CONFIG=(orcl,orcls)'

log_archive_dest_1='LOCATION=/opt/oracle/arch  VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orcl'

LOG_ARCHIVE_DEST_2='SERVICE=dbstandby  LGWR ASYNC VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orcls'

LOG_ARCHIVE_DEST_STATE_1=ENABLE

LOG_ARCHIVE_DEST_STATE_2=ENABLE

FAL_SERVER=dbstandby

FAL_CLIENT=dbprimary

STANDBY_FILE_MANAGEMENT=AUTO

*.log_file_name_convert='/opt/oracle/oradata','/opt/oracle/oradata'

*.db_file_name_convert='/opt/oracle/oradata','/opt/oracle/oradata'

主库调整,重新生成spfile

startup pfile='$ORACLE_HOME/dbs/initorcl.ora';

create spfile from memory;

shutdown immediate;

startup;

show parameter spfile;


主库调整,修改监听配置文件listener.ora

LISTENER =

 (DESCRIPTION_LIST=

   (DESCRIPTION  =

    (ADDRESS=(PROTOCOL=tcp)(HOST=centdgpri)(PORT=1521))

    (ADDRESS=(PROTOCOL=ipc)(KEY=  EXTPROC1521)))

 ) 


SID_LIST_LISTENER =

  (SID_LIST=

    (SID_DESC=

         (GLOBAL_DBNAME=orcl)

         (SID_NAME=orcl)           

         (ORACLE_HOME=/opt/oracle/product/11.2.0.4/db)

        )

    (SID_DESC =

           (GLOBAL_DBNAME = orcl_DGMGRL)

           (ORACLE_HOME = /opt/oracle/product/11.2.0.4/db)

           (SID_NAME= orcl)

         )

    )

ADR_BASE_LISTENER = /opt/oracle 


主库调整,修改TNS服务配置文件tnsnames.ora

DBPRIMARY=

   (DESCRIPTION=

    (ADDRESS_LIST=

     (ADDRESS=(PROTOCOL  =TCP)(HOST=centdgpri)(PORT=1521))

    )

    (CONNECT_DATA=(SID=orcl)(SERVER=DEDICATED))

   )

ORCL=

  (DESCRIPTION=

    (ADDRESS_LIST=

     (ADDRESS=(PROTOCOL  =TCP)(HOST=centdgpri)(PORT=1521))

    )

     (CONNECT_DATA=(SID=orcl)(SERVER=DEDICATED))

   )


DBSTANDBY=

  (DESCRIPTION=

    (ADDRESS_LIST=

     (ADDRESS=(PROTOCOL  =TCP)(HOST=centdgstd)(PORT=1521))

    )

     (CONNECT_DATA=(SID=orcl)(SERVER=DEDICATED))

  )



备库调整,编辑数据库启动pfile

*.audit_file_dest='/opt/oracle/diag/rdbms/orcl/orcl/adump'

*.compatible='11.2.0.4.0'

*.control_files='/opt/oracle/oradata/control01.ctl','/opt/oracle/oradata/control02.ctl'

*.core_dump_dest='/opt/oracle/diag/rdbms/orcl/orcl/cdump'

*.db_block_size=8192

*.db_create_file_dest='/opt/oracle/oradata'

*.db_file_multiblock_read_count=16

*.db_name='orcl'

*.db_recovery_file_dest='/opt/oracle/flash_recovery_area'

*.db_recovery_file_dest_size=10G

*.diagnostic_dest='/opt/oracle/diag/rdbms/orcl/orcl/trace'

*.dispatchers='(PROTOCOL=TCP)  (SERVICE=orcl)'

*.job_queue_processes=10

*.log_archive_dest_1='LOCATION=/opt/oracle/arch'

*.log_buffer=7356416  # log buffer update

*.open_cursors=300

*.optimizer_dynamic_sampling=2

*.optimizer_mode='ALL_ROWS'

*.pga_aggregate_target=186M

*.plsql_warnings='DISABLE:ALL'  # PL/SQL warnings at init.ora

*.processes=150

*.query_rewrite_enabled='TRUE'

*.remote_login_passwordfile='EXCLUSIVE'

*.result_cache_max_size=2880K

*.sga_target=560M

*.skip_unusable_indexes=TRUE

*.undo_management='AUTO'

*.undo_tablespace='UNDOTBS1'



DB_UNIQUE_NAME='orcls'

log_archive_config='DG_CONFIG=(orcls,orcl)'

log_archive_dest_1='LOCATION=/opt/oracle/arch  VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orcls'

LOG_ARCHIVE_DEST_2='SERVICE=dbprimary LGWR  ASYNC VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orcl'

LOG_ARCHIVE_DEST_STATE_1=ENABLE

LOG_ARCHIVE_DEST_STATE_2=ENABLE

FAL_SERVER=dbprimary

FAL_CLIENT=dbstandby

STANDBY_FILE_MANAGEMENT=AUTO

*.log_file_name_convert='/opt/oracle/oradata','/opt/oracle/oradata'

*.db_file_name_convert='/opt/oracle/oradata','/opt/oracle/oradata'


备库调整,编辑监听配置文件listener.ora

LISTENER =

 (DESCRIPTION_LIST=

   (DESCRIPTION  =

    (ADDRESS=(PROTOCOL=tcp)(HOST=centdgstd)(PORT=1521))

    (ADDRESS=(PROTOCOL=ipc)(KEY=  EXTPROC1521)))

 ) 


SID_LIST_LISTENER =

  (SID_LIST=

    (SID_DESC=

         (GLOBAL_DBNAME=orcl)

         (SID_NAME=orcl)           

         (ORACLE_HOME=/opt/oracle/product/11.2.0.4/db)

        )

    (SID_DESC =

           (GLOBAL_DBNAME = orcls_DGMGRL)

           (ORACLE_HOME = /opt/oracle/product/11.2.0.4/db)

           (SID_NAME= orcl)

         )

    )

ADR_BASE_LISTENER = /opt/oracle 


备库调整,修改备库TNS服务配置文件tnsnames.ora

DBPRIMARY=

   (DESCRIPTION=

    (ADDRESS_LIST=

     (ADDRESS=(PROTOCOL  =TCP)(HOST=centdgpri)(PORT=1521))

    )

    (CONNECT_DATA=(SID=orcl)(SERVER=DEDICATED))

   )

ORCLS=

  (DESCRIPTION=

    (ADDRESS_LIST=

     (ADDRESS=(PROTOCOL  =TCP)(HOST=centdgstd)(PORT=1521))

    )

     (CONNECT_DATA=(SID=orcl)(SERVER=DEDICATED))

   )


DBSTANDBY=

  (DESCRIPTION=

    (ADDRESS_LIST=

     (ADDRESS=(PROTOCOL =TCP)(HOST=centdgstd)(PORT=1521))

    )

     (CONNECT_DATA=(SID=orcl)(SERVER=DEDICATED))

  )


6、主库克隆岛备库

主库创建sys密码文件并传送到备库dbs目录

orapwd file=$ORACLE_HOME/dbs/PWDorcl.ora password=WaterH2o entries=40 force=y

备库创建和主库一致的审计目录
主库:

       cd $ORACLE_BASE

       tar -cvf diag.tar diag/

       scp diag.tar centdgstd:/opt/oracle

备库:

       mv diag $ORACLE_BASE/

       cd $ORACLE_BASE

       tar -xvf diag.tar

mkdir -p $ORACLE_BASE/flash_recovery_area

       mkdir -p $ORACLE_BASE/oradata

克隆主库前的TNS服务测试,一定要在主备库均进行测试
tnsping dbprimary
tnsping dbstandby
sqlplus sys/WaterH2o@dbprimary as sysdba
sqlplus sys/WaterH2o@dbstndby as sysdba


主库克隆到备机
rman target sys/WaterH2o@dbprimary auxiliary sys/WaterH2o@dbstandby

duplicate target database for standby from active database nofilenamecheck;

7、开启备库的日志同步进程
alter database recover managed standby database disconnect from session;

8、查看主备库的角色
select db_unique_name,database_role,switchover_status,open_mode from v$database;

 
9、验证物理DG的数据同步

select switchover_status from v$database; --查看有没有gap的归档日志

主库:

select STATUS, GAP_STATUS from V$ARCHIVE_DEST_STATUS where DEST_ID = 2;

主库:

SQL>select STATUS, GAP_STATUS from V$ARCHIVE_DEST_STATUS where DEST_ID = 2;

STATUS         GAP_STATUS

--------- ------------------------

VALID      RESOLVABLE GAP

备库:

SQL> select STATUS, GAP_STATUS from V$ARCHIVE_DEST_STATUS where DEST_ID = 2;

STATUS         GAP_STATUS

--------- ------------------------

VALID      NO GAP
 查看主备库角色及状态

select open_mode,database_role,db_unique_name from v$database;-

主库:

SQL> select open_mode,database_role,db_unique_name from v$database;

OPEN_MODE            DATABASE_ROLE    DB_UNIQUE_NAME

-------------------- ---------------- ------------------------------

READ WRITE            PRIMARY          orcl

SQL>

备库:

SQL>select open_mode,database_role,db_unique_name from v$database;

OPEN_MODE            DATABASE_ROLE    DB_UNIQUE_NAME

-------------------- ---------------- ------------------------------

READ ONLY WITH APPLY PHYSICAL STANDBY orcl

SQL>


 查看主备库的序列号

select max(sequence#) from v$archived_log;

archive log list;

主库:

SQL> select max(sequence#) from v$archived_log; 

MAX(SEQUENCE#)

--------------

           25

SQL> archive log list

Database log mode        Archive Mode

Automatic archival        Enabled

Archive destination        /opt/arch

Oldest online log sequence     24

Next log sequence to archive   26

Current log sequence            26

SQL>

备库:

SQL> select max(sequence#) from v$archived_log;

MAX(SEQUENCE#)

--------------

           25

SQL> archive log list

Database log mode        Archive Mode

Automatic archival        Enabled

Archive destination        /opt/arch

Oldest online log sequence     17

Next log sequence to archive   0

Current log sequence            25

SQL>

10、DG Broker手工管理配置
DG部署前的主库确认开启闪回
select flashback_on from v$database;

 主备库开启dg_broker_start

show parameter dg_broker_start

alter system set dg_broker_start=true;

show parameter dg_broker_start

 主库登录dgmrl客户端
dgmgrl sys/WaterH2o@dbprimary

 创建dgb控制文件(注意一定要进行tnsping TNS服务名测试
create configuration my_dgb as primary database is orcl connect identifier is dgb_p;

DGMGRL> create  configuration my_dgb as primary database is orcl connect identifier is  dbprimary;

Configuration  "my_dgb" created with primary database "orcl"


添加备库

DGMGRL> add  database orcls as connect identifier is dbstandby maintained as physical;

Database  "orcls" added

 
启用配置文件

DGMGRL> enable configuration;

Enabled.

DGMGRL>


 验证配置启动状态

DGMGRL> show configuration


Configuration - my_dgb


  Protection  Mode: MaxPerformance

  Databases:

    orcl  - Primary database

    orcls -  Physical standby database


Fast-Start Failover: DISABLED


Configuration Status:

SUCCESS


DGMGRL>

 
开启主备库StandbyFileManagement并同步到DGB

SQL>alter system set STANDBY_FILE_MANAGEMENT=AUTO scope=both;

DGMGRL> edit database orcl set property StandbyFileManagement='AUTO';

DGMGRL> edit database orcls set property StandbyFileManagement='AUTO';

DGMGRL> EDIT DATABASE orcl SET PROPERTY LogXptMode='async';

DGMGRL> EDIT DATABASE orcls SET PROPERTY LogXptMode='async';


取消物理DG的两个参数

alter system set fal_server='' scope=both sid='*';

alter system set fal_client='' scope=both sid='*';          

11、物理DG 通过Broker手工切换主备库的角色
主备库切换前的角色检查
主库:

SQL> select  database_role,switchover_status,open_mode from v$database;


DATABASE_ROLE     SWITCHOVER_STATUS    OPEN_MODE

----------------  -------------------- --------------------

PRIMARY          TO STANDBY      READ WRITE

备库:

SQL> select  database_role,switchover_status,open_mode from v$database;


DATABASE_ROLE     SWITCHOVER_STATUS    OPEN_MODE

----------------  -------------------- --------------------

PHYSICAL STANDBY  NOT ALLOWED           MOUNTED


DGMGRIL控制台切换主备库

DGMGRL> show  configuration


Configuration -  my_dgb


  Protection Mode: MaxPerformance

  Databases:

    orcl  - Primary database

    orcls - Physical standby database


Fast-Start  Failover: DISABLED


Configuration  Status:

SUCCESS


DGMGRL>  switchover to orcls

Performing  switchover NOW, please wait...

Operation  requires a connection to instance "orcl" on database  "orcls"

Connecting to  instance "orcl"...

Connected.

New primary  database "orcls" is opening...

Operation  requires startup of instance "orcl" on database "orcl"

Starting instance  "orcl"...

ORACLE instance  started.

Database mounted.

Database opened.

Switchover succeeded,  new primary is "orcls"

DGMGRL>

DGMGRL> show  configuration

Configuration -  my_dgb


  Protection Mode: MaxPerformance

  Databases:

    orcls - Primary database

    orcl  - Physical standby database


Fast-Start  Failover: DISABLED

Configuration  Status:

SUCCESS

DGMGRL>


DGMGRIL控制台手工切换主备库的结果检查

新主库:

SQL> select  db_unique_name,database_role,switchover_status,open_mode from v$database;

DB_UNIQUE_NAME                          DATABASE_ROLE         SWITCHOVER_STATUS    OPEN_MODE

------------------------------  ---------------- -------------------- --------------------

orcls                           PRIMARY              TO STANDBY        READ WRITE

新备库:

SQL> select  db_unique_name,database_role,switchover_status,open_mode from v$database;

DB_UNIQUE_NAME                          DATABASE_ROLE         SWITCHOVER_STATUS    OPEN_MODE

------------------------------  ---------------- -------------------- --------------------

orcl                             PHYSICAL STANDBY NOT ALLOWED               MOUNTED


12、启动DG FFS即启动Failvoer Fast Start
启用FFS必须满足的条件
 主备库日志同步模式是自动同步

LogXptMode='async'

EDIT DATABASE orcl SET PROPERTY LogXptMode='async';

EDIT DATABASE orcls SET PROPERTY LogXptMode='async';

 主备库均开启闪回,目的是启动快速自动恢复数据库

select name,db_unique_name,flashback_on from v$database;

 处理standby的备库打开闪回

alter database open read only;

alter database flashback on;

12.     启用DG的FFS

  启用主备库的FFS

edit database orcl set property FastStartFailoverTarget=orcls; 

edit database orcls set property  FastStartFailoverTarget=orcl;

enable fast_start failover

启用结果

如何进行 11.2.0.4  DG for linux 部署

如何进行 11.2.0.4  DG for linux 部署
如何进行 11.2.0.4  DG for linux 部署

13、DG Broker FFS功能测试
 主库shutdown abort故障模拟
 登录主库发起shutdown abort如何进行 11.2.0.4  DG for linux 部署

 备库告警日志提示备库成功接管主库
如何进行 11.2.0.4  DG for linux 部署

observer提示角色自动切换

如何进行 11.2.0.4  DG for linux 部署

 确认角色自动切换结果
如何进行 11.2.0.4  DG for linux 部署

 主库恢复后启动

如何进行 11.2.0.4  DG for linux 部署

observer日志提示主备角色分配
如何进行 11.2.0.4  DG for linux 部署

原主库恢复后的主备库角色查看

如何进行 11.2.0.4  DG for linux 部署

原主库端查看
如何进行 11.2.0.4  DG for linux 部署

原备库端查看

如何进行 11.2.0.4  DG for linux 部署

看完上述内容,你们掌握如何进行 11.2.0.4  DG for linux 部署的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何进行 11.2.0.4 DG for linux 部署

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何进行FusionStorage部署?

  如何进行FusionStorage部署?要了解FusionStorage部署,我们要先来了解一下FusionStorage究竟是什么?  根据官方给出的定义,FusionStorage是一款支持大规模横向扩展的全分布式云存储产品。它主要的作用就是通过存储系统软件将通用硬件的本地存储资源组织起来,构建全分布式存储池,
如何进行FusionStorage部署?
2024-04-18

如何在Linux上进行Golang服务部署

这篇文章主要介绍了如何在Linux上进行Golang服务部署的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何在Linux上进行Golang服务部署文章都会有所收获,下面我们一起来看看吧。一、安装 Golang
2023-07-06

MariaDB如何进行集群部署

在MariaDB中进行集群部署通常使用Galera Cluster来实现。Galera Cluster是一个同步多主集群解决方案,可以确保集群中的所有节点保持数据一致性。以下是在MariaDB中使用Galera Cluster进行集群部署
MariaDB如何进行集群部署
2024-04-09

Linux下如何使用jenkins进行自动化部署

这篇文章主要介绍Linux下如何使用jenkins进行自动化部署,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Jenkins是用Java语言编写的主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽
2023-06-28

linux中如何部署运行jar包

在Linux中部署和运行JAR包的方法如下:安装Java运行环境:首先确保已经在Linux系统中安装了Java运行环境。可以通过命令`java -version`来检查是否已经安装,并且确保版本号符合要求。将JAR包上传到Linux服务器:
2023-10-25

如何对Spring Boot与Docker进行部署

这篇文章给大家介绍如何对Spring Boot与Docker进行部署,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。开启Docker远程访问首先需要开启docker远程访问功能,以便可以进行远程操作。CentOS 6修改
2023-05-31

jar包在linux中如何部署运行

在Linux中部署和运行jar包的步骤如下:1. 确保你的Linux服务器已经安装了Java运行环境(JRE或JDK)。2. 将你的jar包上传到服务器上的某个目录,比如/opt/myapp/。3. 打开终端,进入到jar包所在的目录。4.
2023-09-20

如何在Keras中进行模型的部署

在Keras中进行模型部署通常有两种方式:使用Keras自带的方法来保存和加载模型,或者将模型转换为TensorFlow的SavedModel格式进行部署。使用Keras自带的方法保存和加载模型:# 保存模型model.save("my_
如何在Keras中进行模型的部署
2024-03-14

如何进行classLoader卸载与JVM热部署

本篇文章为大家展示了如何进行classLoader卸载与JVM热部署,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。classLoader的卸载机制jvm中没有提供class及classloader的
2023-06-17

go程序如何部署到linux上运行

这篇文章将为大家详细讲解有关go程序如何部署到linux上运行,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。go 语言版本:go1.9.2开发环境:win10部署环境:ubuntu 14.04.6一、wi
2023-06-15

如何进行centos卸载系统与环境部署

这篇文章将为大家详细讲解有关如何进行centos卸载系统与环境部署,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。centos卸载系统已被广泛应用但是也在不断的更新。centos安装好之后ce
2023-06-16

Spire.Cloud如何进行私有化部署Ubuntu 18.04 系统

这篇文章将为大家详细讲解有关Spire.Cloud如何进行私有化部署Ubuntu 18.04 系统,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。主要介绍如何在Ubuntu 18.04系统上实
2023-06-05

如何进行更加优雅地Docker部署项目

本篇文章给大家分享的是有关如何进行更加优雅地Docker部署项目,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。如果你需要经常性需要多处部署同样的项目,如果你曾经也遇到过"明明在
2023-06-19

编程热搜

目录