快速部署 如何批量修改200个配置文件 替换密码及域名配置 一键启动20个服务

本文介绍如何批量修改配置文件中的域名信息,通过Docker Compose实现服务依赖管理和一键部署多个服务的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

           快速部署  如何批量修改20个配置文件 替换密码及域名配置 一键启动20个服务.

 

**背景:**
快速部署新环境,大家都知道用docker部署。
大家部署服务遇到一下痛点问题:

1)如何快速修改200个配置文件的域名配置。 默认是sample.com, 需要替换为 cnzh.com
2)在applo 配置系统 如何批量修改域名。 默认是sample.com, 需要替换为 cnzh.com
3)如何解决快速启动的服务依赖关系.  只有 A 服务启动,B服务才可以正常启动。
4)dock-compose是什么东西,如何安装及使用。

 

### 1)如何快速修改20个配置文件的域名配置。 默认是sample.com, 需要替换为 cnzh.com

  先查找 包含sample.com内容的配置文件.

```shell
root@iZbp1bihe2j8lxgvst6g5rZ:/opt/nacos-docker# ls -Rl|grep env
drwxr-xr-x 2 cnhz cnhz 4096 Jan 21 11:25 env
./env:
-rw-r--r-- 1 cnhz cnhz  91 Jan 19 18:38 mysql.env
-rw-r--r-- 1 cnhz cnhz 231 Jan 19 18:38 nacos-embedded.env
-rw-r--r-- 1 cnhz cnhz 229 Jan 19 18:38 nacos-hostname.env
-rw-r--r-- 1 cnhz cnhz 224 Jan 19 18:38 nacos-ip.env
-rw-r--r-- 1 cnhz cnhz 280 Jan 21 11:25 nacos-standlone-mysql.env

root@iZbp1bihe2j8lxgvst6g5rZ:/opt/nacos-docker# grep -rla  sample.com  ./env/
./env/mysql.env
./env/nacos-ip.env
root@iZbp1bihe2j8lxgvst6g5rZ:/opt/nacos-docker# grep -a  sample.com  ./env/mysql.env
payUrl=https://sample.com
gatewayUrl=https://sample.com/api


## 下面准备做替换 sed -i 's/sample.com/cnhz.com/g' `grep -rla sample.com ./env/`
root@iZbp1bihe2j8lxgvst6g5rZ:/opt/nacos-docker# grep -rla  sample.com  ./env/
./env/mysql.env
./env/nacos-ip.env
root@iZbp1bihe2j8lxgvst6g5rZ:/opt/nacos-docker# sed -i 's/sample.com/cnhz.com/g' `grep -rla sample.com ./env/`
root@iZbp1bihe2j8lxgvst6g5rZ:/opt/nacos-docker# grep -rla  sample.com  ./env/
root@iZbp1bihe2j8lxgvst6g5rZ:/opt/nacos-docker# grep -rla  cnhz.com  ./env/
./env/mysql.env
./env/nacos-ip.env
root@iZbp1bihe2j8lxgvst6g5rZ:/opt/nacos-docker# grep -rla  cnhz.com  ./env/mysql.env
./env/mysql.env
root@iZbp1bihe2j8lxgvst6g5rZ:/opt/nacos-docker# grep -a  cnhz.com  ./env/mysql.env
payUrl=https://cnhz.com
gatewayUrl=https://cnhz.com/api


```

 

 

 

### 2)applo 配置系统 如何批量修改域名。 默认是sample.com, 需要替换为 cnzh.com   

##### 在apolloconifgdb中修改 配置表 :item   `release`

```mysql

-- 先做备份 索引及数据
-- create table item_back as select * from item;  
-- create table release_back as select * from `release`;
create table release_back like  `release`;
INSERT INTO release_back3  SELECT *  FROM `release`;

create table item_back like item;  
INSERT INTO item_back  SELECT *  FROM `item`;

 
 -- 查看更新数据
SELECT   replace(`Value`,'sample.com','cnhz.com'), item_copy.* from item
where `Value` like '%sample.com%';

UPDATE item  it  set it.`value` = replace(`Value`,'sample.com','cnhz.com')
where `Value` like '%sample.com%';

-- 查看更新数据
SELECT   replace(`Configurations`,'sample.com','cnhz.com'),Configurations    from `release`
where  Configurations like '%sample.com%';

UPDATE `release`  it  set it.`Configurations` = replace(`Configurations`,'sample.com','cnhz.com')
where `Configurations` like '%sample.com%';


```

 

### 3) 如何解决启动的服务依赖关系,  只有 A 服务启动,B服务才可以正常启动。

##### 3.1 依赖描述  《 depends_on:      - mysql》

```yaml
root@iZbp1bihe2j8lxgvst6g5rZ:/opt/nacos-docker/example# more standalone-mysql-5.7.yaml
version: "2"
services:
  nacos:
    image: nacos/nacos-server:latest
    container_name: nacos-standalone-mysql
    env_file:
      - ../env/nacos-standlone-mysql.env
    volumes:
      - ./standalone-logs/:/home/nacos/logs
      - ./init.d/custom.properties:/home/nacos/init.d/custom.properties
    ports:
      - "8848:8848"
      - "9555:9555"
    depends_on:
      - mysql
    restart: on-failure
  mysql:
    container_name: mysql
    image: nacos/nacos-mysql:5.7
    env_file:
      - ../env/mysql.env
    volumes:
      - ./mysql:/var/lib/mysql
    ports:
      - "3306:3306"

```

 

##### 启动 nacos  依赖服务 mysql 服务

```shell

root@iZbp1bihe2j8lxgvst6g5rZ:/opt/nacos-docker/example#  docker-compose   -f standalone-mysql-5.7.yaml    up -d  nacos  
Recreating mysql ... done
Recreating nacos-standalone-mysql ... done

-- 运行结果: 先启动mysql,再启动了nacos
```

 ##### 启动 yaml描述的所有服务

```shell
root@iZbp1bihe2j8lxgvst6g5rZ:/opt/nacos-docker/example#  docker-compose   -f standalone-mysql-5.7.yaml     up -d
mysql is up-to-date
Creating grafana ...
Creating grafana    ... done
Creating prometheus ... done


```
##### 停止服务

```shell


root@iZbp1bihe2j8lxgvst6g5rZ:/opt/nacos-docker/example#  docker-compose   -f standalone-mysql-5.7.yaml     stop nacos
Stopping nacos-standalone-mysql ...


Stopping nacos-standalone-mysql ... done

root@iZbp1bihe2j8lxgvst6g5rZ:/opt/nacos-docker/example# docker ps -a
CONTAINER ID        IMAGE                       COMMAND                  CREATED             STATUS                        PORTS                               NAMES
ebd4a914097c        nacos/nacos-server:latest   "bin/docker-startup.…"   6 minutes ago       Exited (137) 31 seconds ago                                       nacos-standalone-mysql
3b977042db1a        nacos/nacos-mysql:5.7       "docker-entrypoint.s…"   6 minutes ago       Up 6 minutes                  0.0.0.0:3306->3306/tcp, 33060/tcp   mysql


```
#####  删除容器服务(不是容器名称)
```shell
-- 删除容器服务
root@iZbp1bihe2j8lxgvst6g5rZ:/opt/nacos-docker/example#  docker-compose   -f standalone-mysql-5.7.yaml     rm  nacos
Going to remove nacos-standalone-mysql
Are you sure? [yN] y
Removing nacos-standalone-mysql ... done

root@iZbp1bihe2j8lxgvst6g5rZ:/opt/nacos-docker/example#  docker-compose   -f standalone-mysql-5.7.yaml     up -d nacos
mysql is up-to-date
Creating nacos-standalone-mysql ... done
root@iZbp1bihe2j8lxgvst6g5rZ:/opt/nacos-docker/example#  docker-compose   -f standalone-mysql-5.7.yaml     rm  nacos-standalone-mysql
ERROR: No such service: nacos-standalone-mysql

```

 

### 4)dock-compose是什么软件,如何安装及使用。

Compose 是用于定义和运行多容器 Docker 应用程序的工具。
通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。
然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。

##### 安装docker
``` shell

curl -sSL https://get.daocloud.io/docker | sh
```
##### 安装 docker-compose
```shell

curl -L https://get.daocloud.io/docker/compose/releases/download/1.28.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

docker-compose --version

```

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值