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

C++GO语言微服务之数据卷实践

目录

 

01 06-数据卷容器概念

02 07-数据卷容器挂载的步骤

03 08-数据卷容器挂载操作

04 09-数据卷容器数据备份

05 10-数据卷容器数据备份演示

06 11-数据卷容器数据还原

01 12-端口映射和随机分配端口

02 13-nginx介绍

03 14-手动指定端口映射

04 15-网络管理命令ls inspect使用


 

01 06-数据卷容器概念

 ```shell
  # 挂载数据卷容器的参数
  --volumes-from 数据卷容器的名字/数据卷容器的ID
  # 1. 创建数据卷容器
  docker run -itd --name containsVolume -v /itcast_bk ubuntu  bash
  # 2. 启动测试容器1, 挂载到数据卷容器
  docker run -itd --name test1 --volumes-from containsVolume ubunut bash
  # 3. 启动测试容器2, 挂载到数据卷容器
  docker run -itd --name test2 --volumes-from containsVolume ubunut bash
  # 4. 测试数据是否共享
  # 4.1 进入到test1/test2容器中
  docker exec -it test1 bash
  docker exec -it test2 bash

02 07-数据卷容器挂载的步骤

03 08-数据卷容器挂载操作

### 1.3 数据卷容器数据备份

![1543900177395](assets/1543900177395.png)

```shell
# 挂载数据卷容器的参数
--volumes-from 数据卷容器的名字/数据卷容器的ID
# 1. 创建数据卷容器
docker run -itd --name containsVolume -v /itcast_bk ubuntu  bash
# 2. 启动测试容器1, 挂载到数据卷容器
docker run -itd --name test1 --volumes-from containsVolume ubunut bash
# 3. 启动测试容器2, 挂载到数据卷容器
docker run -itd --name test2 --volumes-from containsVolume ubunut bash
# 4. 测试数据是否共享
# 4.1 进入到test1/test2容器中
docker exec -it test1 bash
docker exec -it test2 bash
# 备份数据 -> 数据卷容器中的数据

04 09-数据卷容器数据备份

# 1. 创建一个临时新容器, 挂载到数据卷容器上, 和宿主机目录形成映射关系
docker run -itd --name backup --volumes-from containsVolume -v /home/go/backup:/xxx ubunut bash
# 2. 进入到backup容器中
docker exec -it backup bash
# 3. 将itcast_bk中的内容拷贝到 xxx目录中即可
# 4. 删除backup容器即可
# 合并上述4个步骤
docker run -itd --rm --name backup --volumes-from containsVolume -v /home/go/backup:/xxx ubunut tar zcpf /xxx/backup.tar.gz /itcast_bk
```

05 10-数据卷容器数据备份演示

### 1.4 备份数据还原到数据卷容器

```shell
# 还原数据 -> 数据卷容器中的数据
# 1. 创建一个临时新容器, 挂载到数据卷容器上, 和宿主机目录形成映射关系
docker run -itd --name backup --volumes-from containsVolume -v /home/go/backup:/xxx ubunut bash
# 2. 进入到backup容器中
docker exec -it backup bash
# 3. 将/xxx中的内容拷贝到 itcast_bk目录中即可
# 4. 删除backup容器即可
# 合并上述4个步骤
docker run -itd --rm --name backup --volumes-from containsVolume -v /home/go/backup:/xxx ubunut tar zxpf /xxx/backup.tar.gz -C /
```

06 11-数据卷容器数据还原

## 2. docker网络管理

### 2.1 docker端口映射

- 随机端口映射

  ```shell
  # 创建启动容器的时候指定端口映射
  # 在宿主机随便找一个没有占用的空闲端口 he 容器的 80端口进行映射
  docker run -itd -P --name mynginx nginx 
  ```

- 指定端口映射/指定多端口映射 -> 推荐

  ```shell
  # 使用的参数
  # 指定的宿主机端口必须是空闲端口
  docker run -itd -p xxx --name mynginx nginx 
  -p: 宿主机的IP:宿主机的端口:容器的端口
      宿主机的端口:容器的端口
  # 指定多个端口映射
  docker run -itd -p 80:80 -p 81:81 --name mynginx nginx 
  ```

01 12-端口映射和随机分配端口

### 2.2 网络管理

- 网络管理相关命令

  ```shell
  # 如果多个docker容器想进行通信, 那么这些容器必须要在同一个网络中
  $ docker network --help
  Usage:  docker network COMMAND
  
  Manage networks
  
  Commands:
    connect     将指定的容器加入到指定的网络中
    create      创建一个网络
    disconnect  将容器从一个网络中删除
    inspect     查看网络的详细信息
    ls          查看当前网络
    prune       删除所有的没有被使用的网络 -> 慎用
    rm          删除一个或多个指定的网络
    

02 13-nginx介绍

$ docker network ls
  NETWORK ID          NAME                DRIVER              SCOPE
  2d7f80ec7ad0        bridge              bridge              local
  1e5d47e7c511        host                host                local
  713535eaeb1a        none                null                local
  # bridge网络是默认使用的网络

03 14-手动指定端口映射

- docker的常用的网络模式

### 2.3 bridge 网络模式

- 创建bridge网络

  ```shell
  docker network create -d 网络驱动的名字 要创建的网络的名字
   网络驱动的名字: 默认是bridge
  ```

- 自定义网段与网关

  ```shell
   --subnet: 指定子网络的网段
   --gateway: 指定网关
  docker network create -d 网络驱动的名字 --subnet 180.18.10.0/24 --getway 180.18.10.1 要创建的网络的名字 
  $ docker network create -d bridge --subnet 180.18.10.0/24 --gateway 180.18.10.1 bridge_test 
  ```

04 15-网络管理命令ls inspect使用

- 在自定义网络中启动容器

  ```shell
  $ docker run -it --name test1 ubuntu bash
  --network: 指定要加入的网络
  $ docker run -it --name test1  --network bridge_test ubuntu bash
  ```

- 容器断开网络

  ```shell
  docker network disconnect [OPTIONS] NETWORK CONTAINER
  - OPTIONS:
      -f: 强制执行
  ```

 

http://www.xdnf.cn/news/5832.html

相关文章:

  • 分式注记种表达方式arcgis
  • 大语言模型RLHF训练框架全景解析:OpenRLHF、verl、LLaMA-Factory与SWIFT深度对比
  • 华为海思系列----昇腾张量编译器(ATC)模型转换工具----入门级使用指南(LINUX版)
  • AD PCB布局时常用的操作命令
  • Python作业练习2
  • Go语言——docker-compose部署etcd以及go使用其服务注册
  • Spark处理过程—转换算子
  • 0.66kV0.69kV接地电阻柜常规配置单
  • 仓颉Magic亮相GOSIM AI Paris 2025:掀起开源AI框架新热潮
  • 裸金属服务器 VS 传统物理机
  • 鸿蒙next播放B站视频横屏后的问题
  • Linux之进程控制
  • 【Linux网络】HTTPS
  • k8s v1.26 实战csi-nfs 部署
  • 深度剖析:Vue2 项目兼容第三方库模块格式的终极解决方案
  • 无人机俯视风光摄影Lr调色预设,手机滤镜PS+Lightroom预设下载!
  • MATLAB语音情感识别神经网络方法
  • 中国版 Cursor---腾讯云 CodeBuddy | 从安装VSCode到数独小游戏问世
  • yolo11n-obb训练rknn模型
  • 贪心算法:最小生成树
  • 【Qt】之音视频编程1:QtAV的背景和安装篇
  • 蓝桥杯12届国B 纯质数
  • git Authentication failed for 的解决办法
  • 重构门店网络:从“打补丁“到“造地基“的跨越
  • IDEA查看类结构视图窗口,接口的所有的实现类图
  • Python爬虫常用项
  • Spring @Transactional事务传播机制与MySQL事务原理解析
  • 【日撸 Java 300行】Day 14(栈)
  • 关于IDE的相关知识之二【插件推荐】
  • 基于FPGA的视频接口之千兆网口(七GigE)