0%

Mongodb-Charts Installation guide

准备

安装Docker CE

选择清华的镜像网站会快一些,按步骤安装就好了

如果安装过mongodb-charts旧版本需要先卸载

docker stack rm mongodb-charts

安装mongodb-charts

创建新文件夹

mkdir mongodb-charts
cd mongodb-charts

下载最新版的Charts Docker Compose

放入新创建的文件夹中

启动 Docker Swarm

docker swarm init

拉取Charts image

docker pull quay.io/mongodb/charts:v0.10.0

使用mongo数据库账号测试连接

docker run --rm quay.io/mongodb/charts:v0.10.0 charts-cli test-connection mongodb://<username>:<password>@dds-2ze66**********26-pub.mongodb.rds.aliyuncs.com:3717,dds-2ze6653********642845-pub.mongodb.rds.aliyuncs.com:3717/admin[?replicaSet=mgset-2813849]

注意:
1. 如果是replica主从复制的库,要加上replicaSet参数
2. 连接的mongo用户需要有readWriteAnyDatabase权限

为Charts数据源库创建一个Docker secret

echo "mongodb://<username>:<password>@dds-2ze66**********26-pub.mongodb.rds.aliyuncs.com:3717,dds-2ze6653********642845-pub.mongodb.rds.aliyuncs.com:3717/admin[?replicaSet=mgset-2813849]" | docker secret create charts-mongodb-uri -

为当前用户赋予docker权限

docker守护进程启动的时候,会默认赋予名字为docker的用户组读写Unix socket的权限,因此只要创建docker用户组,并将当前用户加入到docker用户组中,那么当前用户就有权限访问Unix socket了,进而也就可以执行docker相关命令

sudo groupadd docker     #添加docker用户组
sudo gpasswd -a $USER docker     #将登陆用户加入到docker用户组中
newgrp docker     #更新用户组
docker ps    #测试docker命令是否可以使用sudo正常使用

启动Mongodb-Charts

docker stack deploy -c charts-docker-compose-v0.10.0.yml mongodb-charts

检验是否启动

docker service ls

创建Charts用户

docker exec -it \
  $(docker container ls --filter name=_charts -q) \
  charts-cli add-user --first-name "<First>" --last-name "<Last>" \
  --email "<user@example.com>" --password "<Password>" \
  --role "<UserAdmin|User>"

接下来就可以通过80端口访问mongodb-charts了