Docker容器學習 --- Tidb部署
原理性的東西貼上自官方網站:
TiDB 簡介:
TiDB 是 PingCAP 公司設計的開源分散式 HTAP (Hybrid Transactional and Analytical Processing)
資料庫,結合了傳統的 RDBMS 和 NoSQL 的最佳特性。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上