1. 程式人生 > >Docker容器學習 --- Tidb部署

Docker容器學習 --- Tidb部署

原理性的東西貼上自官方網站:
TiDB 簡介:

TiDBPingCAP 公司設計的開源分散式 HTAP (Hybrid Transactional and Analytical Processing) 
資料庫,結合了傳統的 RDBMSNoSQL 的最佳特性。TiDB 相容 MySQL,支援無限的水平擴充套件,具備強一致性
和高可用性。TiDB 的目標是為 OLTP (Online Transactional Processing) 和 
OLAP (Online Analytical Processing) 場景提供一站式的解決方案。

TiDB 整體架構:

要深入瞭解 TiDB 的水平擴充套件和高可用特點,首先需要了解 TiDB 的整體架構。TiDB 叢集主要包括三個核心元件:
TiDB Server
,PD Server 和 TiKV Server。此外,還有用於解決使用者複雜 OLAP 需求的 TiSpark 元件。

這裡寫圖片描述

TiDB Server 負責接收 SQL 請求,處理 SQL 相關的邏輯,並通過 PD 找到儲存計算所需資料的 TiKV 地址,與 
TiKV 互動獲取資料,最終返回結果。TiDB Server 是無狀態的,其本身並不儲存資料,只負責計算,可以無限水平
擴充套件,可以通過負載均衡元件(如LVS、HAProxy 或 F5)對外提供統一的接入地址。
PD Server

Placement Driver (簡稱 PD) 是整個叢集的管理模組,其主要工作有三個:一是儲存叢集的元資訊(某個 Key
儲存 在哪個 TiKV 節點);二是對 TiKV 叢集進行排程和負載均衡(如資料的遷移、Raft group leader 的遷移等);三 是分配全域性唯一且遞增的事務 ID。 PD 是一個叢集,需要部署奇數個節點,一般線上推薦至少部署 3 個節點。 TiKV Server TiKV Server 負責儲存資料,從外部看 TiKV 是一個分散式的提供事務的 Key-Value 儲存引擎。儲存資料的基本單位 是 Region,每個 Region 負責儲存一個 Key Range(從 StartKey 到 EndKey 的左閉右開區間)的資料,每個 TiKV 節點會負責多個 Region。TiKV 使用 Raft 協議做複製,保持資料的一致性和容災。副本以 Region 為單位進行管理, 不同節點上的多個 Region 構成一個 Raft Group
,互為副本。資料在多個 TiKV 之間的負載均衡由 PD 排程,這裡也 是以 Region 為單位進行排程。 TiSpark TiSpark 作為 TiDB 中解決使用者複雜 OLAP 需求的主要元件,將 Spark SQL 直接執行在 TiDB 儲存層上,同時融合 TiKV 分散式叢集的優勢,並融入大資料社群生態。至此,TiDB 可以通過一套系統,同時支援 OLTP 與 OLAP,免除使用者 資料同步的煩惱。

核心特性:
1,水平擴充套件:

無限水平擴充套件是 TiDB 的一大特點,這裡說的水平擴充套件包括兩方面:計算能力和儲存能力。TiDB Server 負責處理 
SQL 請求,隨著業務的增長,可以簡單的新增 TiDB Server 節點,提高整體的處理能力,提供更高的吞吐。TiKV 
負責儲存資料,隨著資料量的增長,可以部署更多的 TiKV Server 節點解決資料 Scale 的問題。PD 會在 TiKV 
節點之間以 Region 為單位做排程,將部分資料遷移到新加的節點上。所以在業務的早期,可以只部署少量的服務例項
(推薦至少部署 3 個 TiKV, 3 個 PD,2 個 TiDB),隨著業務量的增長,按照需求新增 TiKV 或者 TiDB 例項。

2,高可用:

高可用是 TiDB 的另一大特點,TiDB/TiKV/PD 這三個元件都能容忍部分例項失效,不影響整個叢集的可用性。

官方網站要求安裝docker最新版:

[[email protected] Desktop]# docker version   檢視docker版本
Client:
 Version:      17.03.1-ce
 API version:  1.27
 Go version:   go1.7.5
 Git commit:   c6d412e
 Built:        Fri Mar 24 00:36:45 2017
 OS/Arch:      linux/amd64

Server:
 Version:      17.03.1-ce
 API version:  1.27 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   c6d412e
 Built:        Fri Mar 24 00:36:45 2017
 OS/Arch:      linux/amd64
 Experimental: false
[[email protected] Desktop]# systemctl stop docker.service  停止docker服務
[[email protected] Desktop]# rpm -qa | grep docker
docker-engine-selinux-17.03.1.ce-1.el7.centos.noarch
docker-engine-17.03.1.ce-1.el7.centos.x86_64
[[email protected] Desktop]# rpm -e `rpm -qa | grep docker`  解除安裝舊版docker
[[email protected] Desktop]# ls
gitlab  tidb  Tidb部署  tispark.tar
[[email protected] Desktop]# cd gitlab/
[[email protected] gitlab]# ls
container-selinux-2.9-4.el7.noarch.rpm  GitLab安裝.wps
docker-ce-18.06.0.ce-3.el7.x86_64.rpm   jdk-8u171-linux-x64.rpm
gitlab-ce-11.0.1-ce.0.el6.x86_64.rpm    jenkins-2.121.1-1.1.noarch.rpm
gitlab-ce-11.2.0-ce.0.el7.x86_64.rpm    jenkins.war
[[email protected] gitlab]# yum install -y docker-ce-18.06.0.ce-3.el7.x86_64.rpm   安裝docker最新版

這裡寫圖片描述

[[email protected] docker]# git clone https://github.com/pingcap/tidb-docker-compose.git
Cloning into 'tidb-docker-compose'...
fatal: unable to access 'https://github.com/pingcap/tidb-docker-compose.git/': Peer reports incompatible or unsupported protocol version.  報錯由於版本原因無法下載
[[email protected] docker]#  yum update nss curl yum update nss curl  進行uodate
[[email protected] docker]# git clone https://github.com/pingcap/tidb-docker-compose.git  可以正常下載
Cloning into 'tidb-docker-compose'...
remote: Counting objects: 309, done.
remote: Compressing objects: 100% (30/30), done.
remote: Total 309 (delta 12), reused 17 (delta 6), pack-reused 271
Receiving objects: 100% (309/309), 180.81 KiB | 78.00 KiB/s, done.
Resolving deltas: 100% (123/123), done.

這裡寫圖片描述

[email protected] docker]# ls
auth  certs  compose  Dockerfile  ssh  test  tidb-docker-compose  web  yum.repo
[[email protected] docker]# cd tidb-docker-compose/   進入從官方下載下來的目錄中
[[email protected] tidb-docker-compose]# docker images
REPOSITORY             TAG                 IMAGE ID            CREATED             SIZE
<none>                 <none>              62e1514978aa        31 hours ago        140MB
<none>                 <none>              ed7d6bb7e826        32 hours ago        140MB
<none>                 <none>              32fa1cc096b4        32 hours ago        140MB
rhel7                  v4                  6107378b3709        34 hours ago        140MB
nginx                  latest              c82521676580        4 weeks ago         109MB
localhost:5000/nginx   latest              c82521676580        4 weeks ago         109MB
westos.org/nginx       latest              c82521676580        4 weeks ago         109MB
westos.org/rhel7       latest              c82521676580        4 weeks ago         109MB
registry               2                   b2b03e9146e1        6 weeks ago         33.3MB
game2048               latest              19299002fdbe        20 months ago       55.5MB
<none>                 <none>              07c86167cdc4        2 years ago         188MB
registry               latest              bca04f698ba8        2 years ago         423MB
registry               2.2                 ad379b517aa6        2 years ago         224MB
redis                  <none>              d4deec2c521c        2 years ago         151MB
rhel7                  latest              0a3eb3fde7fd        4 years ago         140MB
[[email protected] tidb-docker-compose]# docker rmi rhel7:v4  刪除不需要的映象
Untagged: rhel7:v4
Deleted: sha256:6107378b370924e44eea0f3828f11522d9bc5d5a8e3f56fa96ebc810829f8198
Deleted: sha256:1048dcb50421c656b8033eb5db507d0e2dde8da82ea2ef9b866e17d747aac913
Deleted: sha256:15938294d788277c097a2b294d8ded61e76065130ac277447db16199461df469
[[email protected] tidb-docker-compose]# pwd
/tmp/docker/tidb-docker-compose
[[email protected] tidb-docker-compose]# ls
compose  docker                   docker-compose.yml  README.md  tidb-vision  tispark        tools
config   docker-compose-test.yml  pd                  tidb       tikv         tispark-tests

這裡寫圖片描述

[[email protected] tidb-docker-compose]# cd tidb
[[email protected] tidb]# ls
dashboard.tar  grafana.tar  prometheus.tar   tidb.tar         tikv.tar
Dockerfile     pd.tar       pushgateway.tar  tidb-vision.tar  tispark.tar
[[email protected] tidb]# cat Dockerfile   官方編寫的Dockerfile
from alpine:3.5

ADD bin/tidb-server /tidb-server

RUN chmod +x /tidb-server

WORKDIR /

EXPOSE 4000 10080

ENTRYPOINT ["/tidb-server"]

這裡寫圖片描述
依次載入映象:

[root@foundation38 tidb]# docker load -i dashboard.tar
[root@foundation38 tidb]# docker load -i grafana.tar
[root@foundation38 tidb]# docker load -i pd.tar
[root@foundation38 tidb]# docker load -i prometheus.tar
[root@foundation38 tidb]# docker load -i pushgateway.tar
[root@foundation38 tidb]# docker load -i tidb.tar
[root@foundation38 tidb]# docker load -i tidb-vision.tar
[root@foundation38 tidb]# docker load -i tikv.tar
[root@foundation38 tidb]# docker load -i tispark.tar

這裡寫圖片描述
還原docker環境刪除容器刪除卷組:

[root@foundation38 tidb-docker-compose]# docker ps -a
[root@foundation38 tidb-docker-compose]# docker rm -f `docker ps -aq`
[root@foundation38 tidb-docker-compose]# docker volume ls
[root@foundation38 tidb-docker-compose]# docker volume rm `docker volume ls -q`
[root@foundation38 tidb-docker-compose]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[root@foundation38 tidb-docker-compose]# docker volume ls
DRIVER              VOLUME NAME

這裡寫圖片描述
部署Tidb叢集:

[[email protected] tidb-docker-compose]# ls
compose  data    docker-compose-test.yml  pd         tidb         tikv     tispark-tests
config   docker  docker-compose.yml       README.md  tidb-vision  tispark  tools
[[email protected] tidb-docker-compose]# vim docker-compose.yml 
[[email protected]ion38 tidb-docker-compose]# cd data/
[[email protected] data]# ls
pd0  pd1  pd2  prometheus  tikv0  tikv1  tikv2
[[email protected] data]# rm -fr *
[[email protected] data]# pwd
/tmp/docker/tidb-docker-compose/data
[[email protected] data]# cd ..
[[email protected] tidb-docker-compose]# docker-compose up -d
WARNING: The Docker Engine you're using is running in swarm mode.

Compose does not use swarm mode to deploy services to multiple nodes in a swarm. All containers will be scheduled on the current node.

To deploy your application across the swarm, use `docker stack deploy`.

Creating network "tidb-docker-compose_default" with the default driver
Creating tidb-docker-compose_tidb-vision_1         ... done
Creating tidb-docker-compose_pd2_1                 ... done
Creating tidb-docker-compose_pd1_1                 ... done
Creating tidb-docker-compose_pd0_1                 ... done
Creating tidb-docker-compose_pushgateway_1         ... done
Creating tidb-docker-compose_grafana_1             ... done
Creating tidb-docker-compose_prometheus_1          ... done
Creating tidb-docker-compose_dashboard-installer_1 ... done
Creating tidb-docker-compose_tikv1_1               ... done
Creating tidb-docker-compose_tikv0_1               ... done
Creating tidb-docker-compose_tikv2_1               ... done
Creating tidb-docker-compose_tispark-master_1      ... done
Creating tidb-docker-compose_tidb_1                ... done
Creating tidb-docker-compose_tispark-slave0_1      ... done

這裡寫圖片描述
docker-compose.yml檔案修改內容:
可以自行編寫,本例項的yml是從網上下載下來修改的

[[email protected] tidb-docker-compose]# cat docker-compose.yml 
version: '2.1'

services:
  pd0:
    image: pingcap/pd:latest
    ports:
      - "2379"
    volumes:
      - ./config/pd.toml:/pd.toml:ro
      - ./data:/data
    command:
      - --name=pd0
      - --client-urls=http://0.0.0.0:2379
      - --peer-urls=http://0.0.0.0:2380
      - --advertise-client-urls=http://pd0:2379
      - --advertise-peer-urls=http://pd0:2380
      - --initial-cluster=pd0=http://pd0:2380,pd1=http://pd1:2380,pd2=http://pd2:2380
      - --data-dir=/data/pd0
      - --config=/pd.toml
    restart: on-failure
  pd1:
    image: pingcap/pd:latest
    ports:
      - "2379"
    volumes:
      - ./config/pd.toml:/pd.toml:ro
      - ./data:/data
    command:
      - --name=pd1
      - --client-urls=http://0.0.0.0:2379
      - --peer-urls=http://0.0.0.0:2380
      - --advertise-client-urls=http://pd1:2379
      - --advertise-peer-urls=http://pd1:2380
      - --initial-cluster=pd0=http://pd0:2380,pd1=http://pd1:2380,pd2=http://pd2:2380
      - --data-dir=/data/pd1
      - --config=/pd.toml
    restart: on-failure
  pd2:
    image: pingcap/pd:latest
    ports:
      - "2379"
    volumes:
      - ./config/pd.toml:/pd.toml:ro
      - ./data:/data
    command:
      - --name=pd2
      - --client-urls=http://0.0.0.0:2379
      - --peer-urls=http://0.0.0.0:2380
      - --advertise-client-urls=http://pd2:2379
      - --advertise-peer-urls=http://pd2:2380
      - --initial-cluster=pd0=http://pd0:2380,pd1=http://pd1:2380,pd2=http://pd2:2380
      - --data-dir=/data/pd2
      - --config=/pd.toml
    restart: on-failure
  tikv0:
    image: pingcap/tikv:latest
    ulimits:
      nofile:
        soft: 1000000
        hard: 1000000
    volumes:
      - ./config/tikv.toml:/tikv.toml:ro
      - ./data:/data
    command:
      - --addr=0.0.0.0:20160
      - --advertise-addr=tikv0:20160
      - --data-dir=/data/tikv0
      - --pd=pd0:2379,pd1:2379,pd2:2379
      - --config=/tikv.toml
    depends_on:
      - "pd0"
      - "pd1"
      - "pd2"
    restart: on-failure
  tikv1:
    image: pingcap/tikv:latest
    ulimits:
      nofile:
        soft: 1000000
        hard: 1000000
    volumes:
      - ./config/tikv.toml:/tikv.toml:ro
      - ./data:/data
    command:
      - --addr=0.0.0.0:20160
      - --advertise-addr=tikv1:20160
      - --data-dir=/data/tikv1
      - --pd=pd0:2379,pd1:2379,pd2:2379
      - --config=/tikv.toml
    depends_on:
      - "pd0"
      - "pd1"
      - "pd2"
    restart: on-failure
  tikv2:
    image: pingcap/tikv:latest
    ulimits:
      nofile:
        soft: 1000000
        hard: 1000000
    volumes:
      - ./config/tikv.toml:/tikv.toml:ro
      - ./data:/data
    command:
      - --addr=0.0.0.0:20160
      - --advertise-addr=tikv2:20160
      - --data-dir=/data/tikv2
      - --pd=pd0:2379,pd1:2379,pd2:2379
      - --config=/tikv.toml
    depends_on:
      - "pd0"
      - "pd1"
      - "pd2"
    restart: on-failure

  tidb:
    image: pingcap/tidb:latest
    ports:
      - "4000:4000"
      - "10080:10080"
    volumes:
      - ./config/tidb.toml:/tidb.toml:ro
    command:
      - --store=tikv
      - --path=pd0:2379,pd1:2379,pd2:2379
      - --config=/tidb.toml
    depends_on:
      - "tikv0"
      - "tikv1"
      - "tikv2"
    restart: on-failure
  tispark-master:
    image: pingcap/tispark:latest
    command:
      - /opt/spark/sbin/start-master.sh
    volumes:
      - ./config/spark-defaults.conf:/opt/spark/conf/spark-defaults.conf:ro
    environment:
      SPARK_MASTER_PORT: 7077
      SPARK_MASTER_WEBUI_PORT: 8080
    ports:
      - "7077:7077"
      - "8080:8080"
    depends_on:
      - "tikv0"
      - "tikv1"
      - "tikv2"
    restart: on-failure
  tispark-slave0:
    image: pingcap/tispark:latest
    command:
      - /opt/spark/sbin/start-slave.sh
      - spark://tispark-master:7077
    volumes:
      - ./config/spark-defaults.conf:/opt/spark/conf/spark-defaults.conf:ro
    environment:
      SPARK_WORKER_WEBUI_PORT: 38081
    ports:
      - "38081:38081"
    depends_on:
      - tispark-master
    restart: on-failure

  tidb-vision:
    image: pingcap/tidb-vision:latest
    environment:
      PD_ENDPOINT: pd0:2379
    ports:
      - "8010:8010"

  # monitors
  pushgateway:
    image: prom/pushgateway:v0.3.1
    command:
    - --log.level=error
    restart: on-failure
  prometheus:
    user: root
    image: prom/prometheus:v2.2.1
    command:
      - --log.level=error
      - --storage.tsdb.path=/data/prometheus
      - --config.file=/etc/prometheus/prometheus.yml
    ports:
      - "9090:9090"
    volumes:
      - ./config/prometheus.yml:/etc/prometheus/prometheus.yml:ro
      - ./config/pd.rules.yml:/etc/prometheus/pd.rules.yml:ro
      - ./config/tikv.rules.yml:/etc/prometheus/tikv.rules.yml:ro
      - ./config/tidb.rules.yml:/etc/prometheus/tidb.rules.yml:ro
      - ./data:/data
    restart: on-failure
  grafana:
    image: grafana/grafana:4.6.3
    environment:
      GF_LOG_LEVEL: error
    ports:
      - "3000:3000"
    restart: on-failure
  dashboard-installer:
    image: pingcap/tidb-dashboard-installer:v2.0.0
    command: ["grafana:3000"]
    volumes:
      - ./config/grafana-datasource.json:/datasource.json:ro
      - ./config/pd-dashboard.json:/pd.json:ro
      - ./config/tikv-dashboard.json:/tikv.json:ro
      - ./config/tidb-dashboard.json:/tidb.json:ro
      - ./config/overview-dashboard.json:/overview.json:ro
    restart: on-failure

在網頁訪問可以訪問Grafana:

 Grafana 是一個開源儀表盤工具,它可用於Graphite、InfluxDB與 OpenTSDB 一起使用。最新的版本還可以
 用於其他的資料來源,比如Elasticsearch。
從本質上說,它是一個功能豐富的Graphite-web 替代品,能幫助使用者更簡單地建立和編輯儀表盤。它包含一個
獨一無二的Graphite目標解析器,從而可以簡化度量和函式的編輯 

預設使用者密碼均為admin:
這裡寫圖片描述
登陸成功:
這裡寫圖片描述

[[email protected] init.d]# docker ps  檢視docker程序
CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS              PORTS                                               NAMES
c364e9fa9f0a        pingcap/tispark:latest       "/opt/spark/sbin/sta…"   15 minutes ago      Up 15 minutes       0.0.0.0:38081->38081/tcp                            tidb-docker-compose_tispark-slave0_1
b13135af5112        pingcap/tidb:latest          "/tidb-server --stor…"   15 minutes ago      Up 15 minutes       0.0.0.0:4000->4000/tcp, 0.0.0.0:10080->10080/tcp    tidb-docker-compose_tidb_1
9c29e806be36        pingcap/tispark:latest       "/opt/spark/sbin/sta…"   15 minutes ago      Up 15 minutes       0.0.0.0:7077->7077/tcp, 0.0.0.0:8080->8080/tcp      tidb-docker-compose_tispark-master_1
48fd4962fd17        pingcap/tikv:latest          "/tikv-server --addr…"   15 minutes ago      Up 15 minutes       20160/tcp                                           tidb-docker-compose_tikv2_1
c58c10088713        pingcap/tikv:latest          "/tikv-server --addr…"   15 minutes ago      Up 15 minutes       20160/tcp                                           tidb-docker-compose_tikv0_1
07a5c4c33801        pingcap/tikv:latest          "/tikv-server --addr…"   15 minutes ago      Up 15 minutes       20160/tcp                                           tidb-docker-compose_tikv1_1
05e2b26f34b7        prom/pushgateway:v0.3.1      "/bin/pushgateway --…"   15 minutes ago      Up 15 minutes       9091/tcp                                            tidb-docker-compose_pushgateway_1
64319913ae07        pingcap/tidb-vision:latest   "/bin/sh -c 'sed -i …"   15 minutes ago      Up 15 minutes       80/tcp, 443/tcp, 2015/tcp, 0.0.0.0:8010->8010/tcp   tidb-docker-compose_tidb-vision_1
86a39c4d974c        pingcap/pd:latest            "/pd-server --name=p…"   15 minutes ago      Up 15 minutes       2380/tcp, 0.0.0.0:32773->2379/tcp                   tidb-docker-compose_pd1_1
2de162b7297f        prom/prometheus:v2.2.1       "/bin/prometheus --l…"   15 minutes ago      Up 15 minutes       0.0.0.0:9090->9090/tcp                              tidb-docker-compose_prometheus_1
19e639cec356        grafana/grafana:4.6.3        "/run.sh"                15 minutes ago      Up 15 minutes       0.0.0.0:3000->3000/tcp                              tidb-docker-compose_grafana_1
d84c4dd6e248        pingcap/pd:latest            "/pd-server --name=p…"   15 minutes ago      Up 15 minutes       2380/tcp, 0.0.0.0:32771->2379/tcp                   tidb-docker-compose_pd0_1
65c5a270dcaa        pingcap/pd:latest            "/pd-server --name=p…"   15 minutes ago      Up 15 minutes       2380/tcp, 0.0.0.0:32772->2379/tcp                   tidb-docker-compose_pd2_1

這裡寫圖片描述
可以登陸資料庫:

[[email protected] init.d]# mysql -h 127.0.0.1 -P 4000
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.7.10-TiDB-v2.1.0-beta-273-gf3325e2 MySQL Community Server (Apache License 2.0)

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MySQL [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| INFORMATION_SCHEMA |
| PERFORMANCE_SCHEMA |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)

MySQL [(none)]> quit
Bye

這裡寫圖片描述
停止docker-compose刪除容器卷組還原環境:

[[email protected] init.d]# cd /tmp/docker/
[[email protected] docker]# ls
auth  certs  compose  Dockerfile  ssh  test  tidb-docker-compose  web  yum.repo
[[email protected] docker]# cd tidb-docker-compose/
[[email protected] tidb-docker-compose]# docker-compose down
Stopping tidb-docker-compose_tispark-slave0_1 ... done
Stopping tidb-docker-compose_tidb_1           ... done
Stopping tidb-docker-compose_tispark-master_1 ... done
Stopping tidb-docker-compose_tikv2_1          ... done
Stopping tidb-docker-compose_tikv0_1          ... done
Stopping tidb-docker-compose_tikv1_1          ... done
Stopping tidb-docker-compose_pushgateway_1    ... done
Stopping tidb-docker-compose_tidb-vision_1    ... done
Stopping tidb-docker-compose_pd1_1            ... done
Stopping tidb-docker-compose_prometheus_1     ... done
Stopping tidb-docker-compose_grafana_1        ... done
Stopping tidb-docker-compose_pd0_1            ... done
Stopping tidb-docker-compose_pd2_1            ... done
Removing tidb-docker-compose_tispark-slave0_1      ... done
Removing tidb-docker-compose_tidb_1                ... done
Removing tidb-docker-compose_tispark-master_1      ... done
Removing tidb-docker-compose_tikv2_1               ... done
Removing tidb-docker-compose_tikv0_1               ... done
Removing tidb-docker-compose_tikv1_1               ... done
Removing tidb-docker-compose_pushgateway_1         ... done
Removing tidb-docker-compose_tidb-vision_1         ... done
Removing tidb-docker-compose_pd1_1                 ... done
Removing tidb-docker-compose_dashboard-installer_1 ... done
Removing tidb-docker-compose_prometheus_1          ... done
Removing tidb-docker-compose_grafana_1             ... done
Removing tidb-docker-compose_pd0_1                 ... done
Removing tidb-docker-compose_pd2_1                 ... done
Removing network tidb-docker-compose_default

這裡寫圖片描述

[root@foundation38 tidb-docker-compose]# docker volume rm `docker volume ls -q`
4743c520a25cf82410ac8ac630d90284d51eec0ba83859ae0371653f6c2855f3
729dcff2993ff0ad8a0a0ce4c2497845ab6891460d377761011e56ed8ff6d633
77f1ee6173fd9c68884192a52042fd40fd550a978f750924a6d13b6eb0f36b07
bd73248b51447b7d112b09bab74a68403c66ad8f75759bb02abef72752e5303d
d8706bea8b14999ddad384e359a5385520481697299e8c1149b56f0a35743a2c
ea07be24a463d4fc62226f7bc1a06e818633f63c1e7deb38f904848c148c4dfa

相關推薦

Docker容器學習 --- Tidb部署

原理性的東西貼上自官方網站: TiDB 簡介: TiDB 是 PingCAP 公司設計的開源分散式 HTAP (Hybrid Transactional and Analytical Processing) 資料庫,結合了傳統的 RDBMS 和 NoS

Docker容器學習梳理--web管理工具DockerUI部署記錄

iptable nds emc alt latest size acc 輸入 本機 Docker容器學習梳理--web管理工具DockerUI部署記錄 Docker提供一個平臺來把應用程序當作容器來打包、分發、共享和運行,它已經通過節省工作時間來拯救了成千上萬的系統管理員和

Docker容器學習梳理--應用程式容器環境部署

轉:https://www.cnblogs.com/kevingrace/p/6425424.html 關於國內Docker映象,可以參考:Docker容器學習梳理--基礎知識(2) 的Docker映象使用。 如果我們需要在Docker環境下部署tomcat、redis、mysql

docker容器學習

docker容器 docker學習 虛擬化dockerDocker 架構Docker 使用客戶端-服務器 (C/S) 架構模式,使用遠程API來管理和創建Docker容器。Docker 容器通過 Docker 鏡像來創建。容器與鏡像的關系類似於面向對象編程中的對象與類。Docker面向對象容器對象鏡

docker容器學習

docker 容器 docker容器 虛擬化Docker 學習一Docker 是一個開源的應用容器引擎,基於 Go 語言 並遵從Apache2.0協議開源。Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然後發布到任何流行的 Linux 機器上,也可以實現虛擬化。容

Docker容器學習梳理-容器時間跟宿主機時間同步

info 改變 日誌 time nat 並且 同步 統一 pre 在Docker容器創建好之後,可能會發現容器時間跟宿主機時間不一致,這就需要同步它們的時間,讓容器時間跟宿主機時間保持一致。如下:宿主機時間 [root@docker ~]# date Thu Jan 4

Docker容器學習梳理--容器登陸方法梳理(attach、exec、nsenter)

config .org app ron 簡單 dha entos ava dir 對於運行在後臺的Docker容器,我們運維人員時常是有登陸進去的需求。登陸Docker容器的方式:1)使用ssh登陸容器。這種方法需要在容器中啟動sshd,存在開銷和攻擊面增大的問題。同時也違

Docker容器學習梳理--日常操作總結

容器 指定 reat 配置 捕獲 inf sse 是你 not 使用Docker已有一段時間了,今天正好有空梳理下自己平時操作Docker時的一些命令和註意細節:Docker 命令幫助$ sudo docker Commands: attach Attach

Docker容器學習梳理--手動制作系統鏡像

lba osi github 我們 dha 版本 記錄 密碼 發布 docker官方和個人發布的鏡像由於版本等各種原因,漏洞較多,已統計Docker Hub超過30%的官方鏡像包含高危漏洞。此外,由於網絡等原因也會造成docker pull下載鏡像的速度很慢。基於這種情況,

Docker容器學習梳理--SSH方式登陸容器

rman ati ava hosts pair als mman ane tab 本章介紹如果通過ssh方式登陸Docker容器的操作記錄(其實不太建議直接用ssh去連接上容器的想法,雖然可以,但是有很多弊端,而且docker已經提供了容器內執行的命令,沒有必要再折騰每一個

Docker容器學習梳理-容器硬盤熱擴容

config 下載 load 出現 wfs 調整 cal group order 前面已介紹了docker很多知識點的操作記錄,今天這裏梳理下docker容器空間擴展的操作。默認情況下,docker容器的空間是10G。在實際生產環境下,對docker容器進行熱擴容(動態擴容

Docker容器學習梳理-Dockerfile構建鏡像

運行時 可執行 創建 管理 部分 重要 環境 每次 定制 在Docker的運用中,從下載鏡像,啟動容器,在容器中輸入命令來運行程序,這些命令都是手工一條條往裏輸入的,無法重復利用,而且效率很低。所以就需要一 種文件或腳本,我們把想執行的操作以命令的方式寫入其中,然後讓doc

Docker容器學習--1

標識 esp not 發揮 虛擬機 文件目錄 sha cfa init.d Docker是PaaS 提供商 dotCloud 開源的一個基於 LXC 的高級容器引擎,源代碼托管在 Github 上, 基於go語言並遵從Apache2.0協議開源。Docker是通過內核虛擬化

Docker容器學習與分享12

number .com keys per specified authent one efault The Docker多主機管理 之前在一臺Centos7上安裝了Docker,如果是在多臺主機上都安裝Docker,用手動安裝的方法不光效率低下,而且有可能出錯,所以可以使用

Docker容器學習

lte 密碼 效率 環境 restrict 項目發布 inspect this -- Docker學習 docker是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後發布到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用

Docker容器學習整理

lib ln -s vol 2.4 ubi sta 場景 創建 臨時文件 一、使用Docker鏡像1.1 docker常用命令1.2 創建鏡像1.3 存出和載入鏡像1.4 上傳鏡像 二、操作docker容器2.1 創建容器2.2 終止容器2.3 進入容器2.4 刪除容器2.

docker容器學習之路

安裝教程請下載連結:https://download.csdn.net/download/xiaozhou_zi/10591798   1、遇到問題:若下載映象長時間沒反應,更改倉庫地址 修改:/etc/docker/daemon.json增加如下內容 { "regis

docker容器學習筆記

 docker是通過核心虛擬化技術來提供容器的資源隔離與安全保障。  docker組成:   docker client、docker server、docker元件(映象(image)、容器(container)、倉庫(repository))   docker與ope

Docker容器學習梳理-Dockerfile構建映象

在Docker的運用中,從下載映象,啟動容器,在容器中輸入命令來執行程式,這些命令都是手工一條條往裡輸入的,無法重複利用,而且效率很低。所以就需要一 種檔案或指令碼,我們把想執行的操作以命令的方式寫入其中,然後讓docker讀取並分析、執行,那麼重複構建、更新將變得很方便,

Docker容器學習梳理--手動製作系統映象

docker官方和個人釋出的映象由於版本等各種原因,漏洞較多,已統計Docker Hub超過30%的官方映象包含高危漏洞。此外,由於網路等原因也會造成docker pull下載映象的速度很慢。基於這種情況,我們可以手動定製docker系統映象。 以下記錄了在centos7上