V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
godcc
V2EX  ›  Docker

请教一个数据备份的问题

  •  
  •   godcc · 2020-10-26 10:57:34 +08:00 · 3007 次点击
    这是一个创建于 1487 天前的主题,其中的信息可能已经有所发展或是发生改变。

    使用 docker swarm 起了两个服务:一个是 go 写的 web 服务,另外一个是 db ( cockroach )。现在想在 web 服务中使用 cockroach 的 dump 去备份数据,但是 web 服务中调用不了 cockroach 的指令,这种情况一般要怎么去做备份。 docker compose 文件如下:

    version: '3.3'
    
    services:
      web:
        image: 192.168.0.54:5000/airsunweb:v1.0
        environment:
          - MICRO_REGISTRY=etcd
          - MICRO_REGISTRY_ADDRESS=etcd:2379
          - MICRO_SERVER_ADDRESS=0.0.0.0:8080
          - MICRO_LOG_LEVEL=debug
        ports:
          - 7777:8080
        configs:
          - source: web_config 
            target: /config.yaml
          - source: web_base_data_config
            target: /base_data_config.json
          - source: web_param_running_config
            target: /param_running_config.json
      sqldb:
        image: swr.cn-east-3.myhuaweicloud.com/langmy/cockroach:latest
        volumes:
          - sql-data:/cockroach/cockroach-data
        command: start-single-node --insecure
        deploy:
          placement:
            constraints:
              - node.labels.db-data == true
    
    4 条回复    2020-10-30 18:29:51 +08:00
    XSG
        1
    XSG  
       2020-10-26 14:10:16 +08:00
    再起一个数据库客户端服务,专门用来备份
    godcc
        2
    godcc  
    OP
       2020-10-26 19:05:05 +08:00
    请问一下具体该怎么做
    XSG
        3
    XSG  
       2020-10-30 11:19:52 +08:00
    ```yaml
    version: '3.3'

    services:
    web:
    image: 192.168.0.54:5000/airsunweb:v1.0
    environment:
    - MICRO_REGISTRY=etcd
    - MICRO_REGISTRY_ADDRESS=etcd:2379
    - MICRO_SERVER_ADDRESS=0.0.0.0:8080
    - MICRO_LOG_LEVEL=debug
    ports:
    - 7777:8080
    configs:
    - source: web_config
    target: /config.yaml
    - source: web_base_data_config
    target: /base_data_config.json
    - source: web_param_running_config
    target: /param_running_config.json
    sqldb:
    image: swr.cn-east-3.myhuaweicloud.com/langmy/cockroach:latest
    volumes:
    - sql-data:/cockroach/cockroach-data
    command: start-single-node --insecure
    deploy:
    placement:
    constraints:
    - node.labels.db-data == true
    backup:
    image: 数据库客户端:latest
    environment:
    - USER=xxx
    - PASSED=xxx
    ...
    ```

    backup 服务里面自己写个脚本做个镜像,就可以执行备份了呀
    godcc
        4
    godcc  
    OP
       2020-10-30 18:29:51 +08:00
    @XSG 明白了 感谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3694 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 00:14 · PVG 08:14 · LAX 16:14 · JFK 19:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.