未验证 提交 db560be5 编写于 作者: sangshuduo's avatar sangshuduo 提交者: GitHub

fix: docker doc refine (#20101)

上级 69778c94
...@@ -273,49 +273,48 @@ password: taosdata ...@@ -273,49 +273,48 @@ password: taosdata
## Start the TDengine cluster with docker-compose ## Start the TDengine cluster with docker-compose
1. The following docker-compose file starts a TDengine cluster with two replicas, two management nodes, two data nodes, and one arbitrator. 1. The following docker-compose file starts a TDengine cluster with three nodes.
```docker ```yml
version: "3" version: "3"
services: services:
arbitrator: td-1:
image: tdengine/tdengine:$VERSION image: tdengine/tdengine:$VERSION
command: tarbitrator environment:
td-1: TAOS_FQDN: "td-1"
image: tdengine/tdengine:$VERSION TAOS_FIRST_EP: "td-1"
environment: volumes:
TAOS_FQDN: "td-1" - taosdata-td1:/var/lib/taos/
TAOS_FIRST_EP: "td-1" - taoslog-td1:/var/log/taos/
TAOS_NUM_OF_MNODES: "2" td-2:
TAOS_REPLICA: "2" image: tdengine/tdengine:$VERSION
TAOS_ARBITRATOR: arbitrator:6042 environment:
volumes: TAOS_FQDN: "td-2"
- taosdata-td1:/var/lib/taos/ TAOS_FIRST_EP: "td-1"
- taoslog-td1:/var/log/taos/ volumes:
td-2: - taosdata-td2:/var/lib/taos/
image: tdengine/tdengine:$VERSION - taoslog-td2:/var/log/taos/
environment: td-3:
TAOS_FQDN: "td-2" image: tdengine/tdengine:$VERSION
TAOS_FIRST_EP: "td-1" environment:
TAOS_NUM_OF_MNODES: "2" TAOS_FQDN: "td-3"
TAOS_REPLICA: "2" TAOS_FIRST_EP: "td-1"
TAOS_ARBITRATOR: arbitrator:6042 volumes:
volumes: - taosdata-td3:/var/lib/taos/
- taosdata-td2:/var/lib/taos/ - taoslog-td3:/var/log/taos/
- taoslog-td2:/var/log/taos/ volumes:
volumes: taosdata-td1:
taosdata-td1: taoslog-td1:
taoslog-td1: taosdata-td2:
taosdata-td2: taoslog-td2:
taoslog-td2: taosdata-td3:
``` taoslog-td3:
```
:::note :::note
- The `VERSION` environment variable is used to set the tdengine image tag - The `VERSION` environment variable is used to set the tdengine image tag
- `TAOS_FIRST_EP` must be set on the newly created instance so that it can join the TDengine cluster; if there is a high availability requirement, `TAOS_SECOND_EP` needs to be used at the same time - `TAOS_FIRST_EP` must be set on the newly created instance so that it can join the TDengine cluster; if there is a high availability requirement, `TAOS_SECOND_EP` needs to be used at the same time
- `TAOS_REPLICA` is used to set the default number of database replicas. Its value range is [1,3]
We recommend setting it with `TAOS_ARBITRATOR` to use arbitrator in a two-nodes environment.
::: :::
2. Start the cluster 2. Start the cluster
...@@ -345,17 +344,18 @@ password: taosdata ...@@ -345,17 +344,18 @@ password: taosdata
4. Show dnodes via TDengine CLI 4. Show dnodes via TDengine CLI
```shell ```shell
$ docker-compose exec td-1 taos -s "show dnodes" $ docker-compose exec td-1 taos -s "show dnodes"
taos> show dnodes taos> show dnodes
id | end_point | vnodes | cores | status | role | create_time | offline reason | id | endpoint | vnodes | support_vnodes | status | create_time | note |
====================================================================================================================================== ======================================================================================================================================
1 | td-1:6030 | 1 | 8 | ready | any | 2022-01-18 02:47:42.871 | | 1 | td-1:6030 | 0 | 32 | ready | 2022-08-19 07:57:29.971 | |
2 | td-2:6030 | 0 | 8 | ready | any | 2022-01-18 02:47:43.518 | | 2 | td-2:6030 | 0 | 32 | ready | 2022-08-19 07:57:31.415 | |
0 | arbitrator:6042 | 0 | 0 | ready | arb | 2022-01-18 02:47:43.633 | - | 3 | td-3:6030 | 0 | 32 | ready | 2022-08-19 07:57:31.417 | |
Query OK, 3 row(s) in set (0.000811s) Query OK, 3 rows in database (0.021262s)
```
```
## taosAdapter ## taosAdapter
...@@ -373,83 +373,70 @@ password: taosdata ...@@ -373,83 +373,70 @@ password: taosdata
Suppose you want to deploy multiple taosAdapters to improve throughput and provide high availability. In that case, the recommended configuration method uses a reverse proxy such as Nginx to offer a unified access entry. For specific configuration methods, please refer to the official documentation of Nginx. Here is an example: Suppose you want to deploy multiple taosAdapters to improve throughput and provide high availability. In that case, the recommended configuration method uses a reverse proxy such as Nginx to offer a unified access entry. For specific configuration methods, please refer to the official documentation of Nginx. Here is an example:
```docker ```yml
version: "3" version: "3"
networks: networks:
inter: inter:
api:
services:
services: td-1:
arbitrator: image: tdengine/tdengine:$VERSION
image: tdengine/tdengine:$VERSION networks:
command: tarbitrator - inter
networks: environment:
- inter TAOS_FQDN: "td-1"
td-1: TAOS_FIRST_EP: "td-1"
image: tdengine/tdengine:$VERSION volumes:
networks: - taosdata-td1:/var/lib/taos/
- inter - taoslog-td1:/var/log/taos/
environment: td-2:
TAOS_FQDN: "td-1" image: tdengine/tdengine:$VERSION
TAOS_FIRST_EP: "td-1" networks:
TAOS_NUM_OF_MNODES: "2" - inter
TAOS_REPLICA: "2" environment:
TAOS_ARBITRATOR: arbitrator:6042 TAOS_FQDN: "td-2"
volumes: TAOS_FIRST_EP: "td-1"
- taosdata-td1:/var/lib/taos/ volumes:
- taoslog-td1:/var/log/taos/ - taosdata-td2:/var/lib/taos/
td-2: - taoslog-td2:/var/log/taos/
image: tdengine/tdengine:$VERSION adapter:
networks: image: tdengine/tdengine:$VERSION
- inter entrypoint: "taosadapter"
environment: networks:
TAOS_FQDN: "td-2" - inter
TAOS_FIRST_EP: "td-1" environment:
TAOS_NUM_OF_MNODES: "2" TAOS_FIRST_EP: "td-1"
TAOS_REPLICA: "2" TAOS_SECOND_EP: "td-2"
TAOS_ARBITRATOR: arbitrator:6042 deploy:
volumes: replicas: 4
- taosdata-td2:/var/lib/taos/ nginx:
- taoslog-td2:/var/log/taos/ image: nginx
adapter: depends_on:
image: tdengine/tdengine:$VERSION - adapter
command: taosadapter networks:
networks: - inter
- inter ports:
environment: - 6041:6041
TAOS_FIRST_EP: "td-1" - 6044:6044/udp
TAOS_SECOND_EP: "td-2" command: [
deploy: "sh",
replicas: 4 "-c",
nginx: "while true;
image: nginx do curl -s http://adapter:6041/-/ping >/dev/null && break;
depends_on: done;
- adapter printf 'server{listen 6041;location /{proxy_pass http://adapter:6041;}}'
networks: > /etc/nginx/conf.d/rest.conf;
- inter printf 'stream{server{listen 6044 udp;proxy_pass adapter:6044;}}'
- api >> /etc/nginx/nginx.conf;cat /etc/nginx/nginx.conf;
ports: nginx -g 'daemon off;'",
- 6041:6041 ]
- 6044:6044/udp volumes:
command: [ taosdata-td1:
"sh", taoslog-td1:
"-c", taosdata-td2:
"while true; taoslog-td2:
do curl -s http://adapter:6041/-/ping >/dev/null && break; ```
done;
printf 'server{listen 6041;location /{proxy_pass http://adapter:6041;}}'
> /etc/nginx/conf.d/rest.conf;
printf 'stream{server{listen 6044 udp;proxy_pass adapter:6044;}}'
>> /etc/nginx/nginx.conf;cat /etc/nginx/nginx.conf;
nginx -g 'daemon off;'",
]
volumes:
taosdata-td1:
taoslog-td1:
taosdata-td2:
taoslog-td2:
```
## Deploy with docker swarm ## Deploy with docker swarm
......
...@@ -309,7 +309,7 @@ services: ...@@ -309,7 +309,7 @@ services:
TAOS_FIRST_EP: "td-1" TAOS_FIRST_EP: "td-1"
volumes: volumes:
- taosdata-td3:/var/lib/taos/ - taosdata-td3:/var/lib/taos/
- taoslog-td3:/var/log/taos/ - taoslog-td3:/var/log/taos/
volumes: volumes:
taosdata-td1: taosdata-td1:
taoslog-td1: taoslog-td1:
...@@ -473,18 +473,18 @@ Creating service taos_adapter ...@@ -473,18 +473,18 @@ Creating service taos_adapter
```shell ```shell
$ docker stack ps taos $ docker stack ps taos
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
7m3sbf532bqp taos_adapter.1 tdengine/tdengine:3.0.0.0 vm98 Running Running about a minute ago 7m3sbf532bqp taos_adapter.1 tdengine/tdengine:3.0.0.0 vm98 Running Running about a minute ago
pj403n6ofmmh taos_adapter.2 tdengine/tdengine:3.0.0.0 vm98 Running Running about a minute ago pj403n6ofmmh taos_adapter.2 tdengine/tdengine:3.0.0.0 vm98 Running Running about a minute ago
rxqfwsyk5q1h taos_adapter.3 tdengine/tdengine:3.0.0.0 vm98 Running Running about a minute ago rxqfwsyk5q1h taos_adapter.3 tdengine/tdengine:3.0.0.0 vm98 Running Running about a minute ago
qj40lpxr40oc taos_adapter.4 tdengine/tdengine:3.0.0.0 vm98 Running Running about a minute ago qj40lpxr40oc taos_adapter.4 tdengine/tdengine:3.0.0.0 vm98 Running Running about a minute ago
oe3455ulxpze taos_nginx.1 nginx:latest vm98 Running Running about a minute ago oe3455ulxpze taos_nginx.1 nginx:latest vm98 Running Running about a minute ago
o0tsg70nrrc6 taos_td-1.1 tdengine/tdengine:3.0.0.0 vm98 Running Running about a minute ago o0tsg70nrrc6 taos_td-1.1 tdengine/tdengine:3.0.0.0 vm98 Running Running about a minute ago
q5m1oxs589cp taos_td-2.1 tdengine/tdengine:3.0.0.0 vm98 Running Running about a minute ago q5m1oxs589cp taos_td-2.1 tdengine/tdengine:3.0.0.0 vm98 Running Running about a minute ago
$ docker service ls $ docker service ls
ID NAME MODE REPLICAS IMAGE PORTS ID NAME MODE REPLICAS IMAGE PORTS
ozuklorgl8bs taos_adapter replicated 4/4 tdengine/tdengine:3.0.0.0 ozuklorgl8bs taos_adapter replicated 4/4 tdengine/tdengine:3.0.0.0
crmhdjw6vxw0 taos_nginx replicated 1/1 nginx:latest *:6041->6041/tcp, *:6044->6044/udp crmhdjw6vxw0 taos_nginx replicated 1/1 nginx:latest *:6041->6041/tcp, *:6044->6044/udp
o86ngy7csv5n taos_td-1 replicated 1/1 tdengine/tdengine:3.0.0.0 o86ngy7csv5n taos_td-1 replicated 1/1 tdengine/tdengine:3.0.0.0
rma040ny4tb0 taos_td-2 replicated 1/1 tdengine/tdengine:3.0.0.0 rma040ny4tb0 taos_td-2 replicated 1/1 tdengine/tdengine:3.0.0.0
``` ```
...@@ -495,11 +495,11 @@ rma040ny4tb0 taos_td-2 replicated 1/1 tdengine/tdengine:3.0.0.0 ...@@ -495,11 +495,11 @@ rma040ny4tb0 taos_td-2 replicated 1/1 tdengine/tdengine:3.0.0.0
```shell ```shell
$ docker service scale taos_adapter=1 $ docker service scale taos_adapter=1
taos_adapter scaled to 1 taos_adapter scaled to 1
overall progress: 1 out of 1 tasks overall progress: 1 out of 1 tasks
1/1: running [==================================================>] 1/1: running [==================================================>]
verify: Service converged verify: Service converged
$ docker service ls -f name=taos_adapter $ docker service ls -f name=taos_adapter
ID NAME MODE REPLICAS IMAGE PORTS ID NAME MODE REPLICAS IMAGE PORTS
ozuklorgl8bs taos_adapter replicated 1/1 tdengine/tdengine:3.0.0.0 ozuklorgl8bs taos_adapter replicated 1/1 tdengine/tdengine:3.0.0.0
``` ```
此差异已折叠。
version: "3"
networks:
inter:
api:
services:
arbitrator:
image: tdengine/tdengine:$VERSION
command: tarbitrator
networks:
- inter
td-1:
image: tdengine/tdengine:$VERSION
networks:
- inter
environment:
TAOS_FQDN: "td-1"
TAOS_FIRST_EP: "td-1"
TAOS_NUM_OF_MNODES: "2"
TAOS_REPLICA: "2"
TAOS_ARBITRATOR: arbitrator:6042
volumes:
- taosdata-td1:/var/lib/taos/
- taoslog-td1:/var/log/taos/
td-2:
image: tdengine/tdengine:$VERSION
networks:
- inter
environment:
TAOS_FQDN: "td-2"
TAOS_FIRST_EP: "td-1"
TAOS_NUM_OF_MNODES: "2"
TAOS_REPLICA: "2"
TAOS_ARBITRATOR: arbitrator:6042
volumes:
- taosdata-td2:/var/lib/taos/
- taoslog-td2:/var/log/taos/
adapter:
image: tdengine/tdengine:$VERSION
command: taosadapter
networks:
- inter
environment:
TAOS_FIRST_EP: "td-1"
TOAS_SECOND_EP: "td-2"
deploy:
replicas: 4
update_config:
parallelism: 4
nginx:
image: nginx
depends_on:
- adapter
networks:
- inter
- api
ports:
- 6041:6041
- 6044:6044/udp
command: [
"sh",
"-c",
"while true;
do curl -s http://adapter:6041/-/ping >/dev/null && break;
done;
printf 'server{listen 6041;location /{proxy_pass http://adapter:6041;}}'
> /etc/nginx/conf.d/rest.conf;
printf 'stream{server{listen 6044 udp;proxy_pass adapter:6044;}}'
>> /etc/nginx/nginx.conf;cat /etc/nginx/nginx.conf;
nginx -g 'daemon off;'",
]
volumes:
taosdata-td1:
taoslog-td1:
taosdata-td2:
taoslog-td2:
#!/bin/bash #!/bin/bash
set -e set -e
#set -x #set -x
set -v set -v
# dockerbuild.sh # dockerbuild.sh
# -n [version number] # -n [version number]
# -p [xxxx] # -p [xxxx]
# -V [stable | beta] # -V [stable | beta]
...@@ -28,7 +28,7 @@ do ...@@ -28,7 +28,7 @@ do
V) V)
#echo "verType=$OPTARG" #echo "verType=$OPTARG"
verType=$(echo $OPTARG) verType=$(echo $OPTARG)
;; ;;
h) h)
echo "Usage: `basename $0` -n [version number] " echo "Usage: `basename $0` -n [version number] "
echo " -p [password for docker hub] " echo " -p [password for docker hub] "
...@@ -39,8 +39,8 @@ do ...@@ -39,8 +39,8 @@ do
a) a)
#echo "dockerLatest=$OPTARG" #echo "dockerLatest=$OPTARG"
dockerLatest=$(echo $OPTARG) dockerLatest=$(echo $OPTARG)
;; ;;
?) #unknow option ?) #unknow option
echo "unkonw argument" echo "unkonw argument"
exit 1 exit 1
;; ;;
...@@ -60,7 +60,7 @@ if [ "$verType" == "stable" ]; then ...@@ -60,7 +60,7 @@ if [ "$verType" == "stable" ]; then
elif [ "$verType" == "beta" ];then elif [ "$verType" == "beta" ];then
verType=beta verType=beta
tagVal=ver-${version}-beta tagVal=ver-${version}-beta
dockerinput=TDengine-server-${version}-${verType}-Linux-$cpuType.tar.gz dockerinput=TDengine-server-${version}-${verType}-Linux-$cpuType.tar.gz
dockerinput_x64=TDengine-server-${version}-${verType}-Linux-amd64.tar.gz dockerinput_x64=TDengine-server-${version}-${verType}-Linux-amd64.tar.gz
dockerim=tdengine/tdengine-beta dockerim=tdengine/tdengine-beta
dockeramd64=tdengine/tdengine-amd64-beta dockeramd64=tdengine/tdengine-amd64-beta
...@@ -73,30 +73,30 @@ fi ...@@ -73,30 +73,30 @@ fi
username="tdengine" username="tdengine"
# generate docker verison # generate docker version
echo "generate ${dockerim}:${version}" echo "generate ${dockerim}:${version}"
docker manifest create -a ${dockerim}:${version} ${dockeramd64}:${version} ${dockeraarch64}:${version} docker manifest create -a ${dockerim}:${version} ${dockeramd64}:${version} ${dockeraarch64}:${version}
docker manifest inspect ${dockerim}:${version} docker manifest inspect ${dockerim}:${version}
docker manifest rm ${dockerim}:${version} docker manifest rm ${dockerim}:${version}
docker manifest create -a ${dockerim}:${version} ${dockeramd64}:${version} ${dockeraarch64}:${version} docker manifest create -a ${dockerim}:${version} ${dockeramd64}:${version} ${dockeraarch64}:${version}
docker manifest inspect ${dockerim}:${version} docker manifest inspect ${dockerim}:${version}
docker login -u ${username} -p ${passWord} docker login -u ${username} -p ${passWord}
docker manifest push ${dockerim}:${version} docker manifest push ${dockerim}:${version}
# generate docker latest # generate docker latest
echo "generate ${dockerim}:latest " echo "generate ${dockerim}:latest "
if [ ${dockerLatest} == 'y' ] ;then if [ ${dockerLatest} == 'y' ] ;then
echo "docker manifest create -a ${dockerim}:latest ${dockeramd64}:latest ${dockeraarch64}:latest" echo "docker manifest create -a ${dockerim}:latest ${dockeramd64}:latest ${dockeraarch64}:latest"
docker manifest create -a ${dockerim}:latest ${dockeramd64}:latest ${dockeraarch64}:latest docker manifest create -a ${dockerim}:latest ${dockeramd64}:latest ${dockeraarch64}:latest
docker manifest inspect ${dockerim}:latest docker manifest inspect ${dockerim}:latest
docker manifest rm ${dockerim}:latest docker manifest rm ${dockerim}:latest
docker manifest create -a ${dockerim}:latest ${dockeramd64}:latest ${dockeraarch64}:latest docker manifest create -a ${dockerim}:latest ${dockeramd64}:latest ${dockeraarch64}:latest
docker manifest inspect ${dockerim}:latest docker manifest inspect ${dockerim}:latest
docker login -u tdengine -p ${passWord} #replace the docker registry username and password docker login -u tdengine -p ${passWord} #replace the docker registry username and password
docker manifest push ${dockerim}:latest docker manifest push ${dockerim}:latest
docker pull tdengine/tdengine:latest docker pull tdengine/tdengine:latest
fi fi
......
...@@ -74,7 +74,7 @@ do ...@@ -74,7 +74,7 @@ do
done done
# Check_verison() # Check_version()
# { # {
# } # }
...@@ -102,14 +102,14 @@ scriptDir=$(dirname $(readlink -f $0)) ...@@ -102,14 +102,14 @@ scriptDir=$(dirname $(readlink -f $0))
communityDir=${scriptDir}/../../../community communityDir=${scriptDir}/../../../community
DockerfilePath=${communityDir}/packaging/docker/ DockerfilePath=${communityDir}/packaging/docker/
if [ "$cloudBuild" == "y" ]; then if [ "$cloudBuild" == "y" ]; then
comunityArchiveDir=/nas/TDengine/v$version/cloud communityArchiveDir=/nas/TDengine/v$version/cloud
Dockerfile=${communityDir}/packaging/docker/DockerfileCloud Dockerfile=${communityDir}/packaging/docker/DockerfileCloud
else else
comunityArchiveDir=/nas/TDengine/v$version/community communityArchiveDir=/nas/TDengine/v$version/community
Dockerfile=${communityDir}/packaging/docker/Dockerfile Dockerfile=${communityDir}/packaging/docker/Dockerfile
fi fi
cd ${scriptDir} cd ${scriptDir}
cp -f ${comunityArchiveDir}/${pkgFile} . cp -f ${communityArchiveDir}/${pkgFile} .
echo "dirName=${dirName}" echo "dirName=${dirName}"
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册