前期准备
- 1.端口:4321、7770、80、443、100、50051
- curl
- unzip
- docker
- docker-compose
- 访问 SMTP 服务器,如 smtp.gmail.com。
- 下载速度>100兆的机场(内陆用户)
- 服务器速度也>100兆
- 本地 dolt
设置docker代理(不要镜像 慢)
ubuntu
ubuntu docker代理位置/etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=http://192.168.3.17:7890"
Environment="HTTPS_PROXY=http://192.168.3.17:7890"
Environment="NO_PROXY=localhost,127.0.0.1,registry.onlymin.com,reg.onlymin.com"
ubuntu docker代理位置/etc/systemd/system/docker.service.d/http-proxy.conf(在Service节点下)
Environment="HTTP_PROXY=http://192.168.3.17:7890/"
Environment="HTTPS_PROXY=http://192.168.3.17:7890/"
sudo systemctl daemon-reload
sudo service docker restart
1.下载到本地
export DOLTLAB_VERSION=v2.0.8
curl -LO https://doltlab-releases.s3.amazonaws.com/linux/amd64/doltlab-${DOLTLAB_VERSION}.zip
unzip doltlab-${DOLTLAB_VERSION}.zip -d doltlab
cd doltlab
2.运行命令(请先进入root)
HOST_IP=你的服务器ip DOLT_PASSWORD="admin1234" DOLTHUBAPI_PASSWORD="admin1234" EMAIL_HOST="你的smtpHOST" EMAIL_PORT=465 NO_REPLY_EMAIL="你的smtp邮箱" EMAIL_USERNAME="你的smtp账号" EMAIL_PASSWORD="你的smtp密码" ./start-doltlab.sh
如果是tls smtp
需要在运行完毕后 [在docker-compose.yaml:doltlabapi.command里加上:-emailImplicitTLS|在doltlabapi容器command语句后加-emailImplicitTLS]。然后删除所有容器 [重新运行上述代码|重启容器]
3.本地dolt绑定到doltLab
请先设置你的邮箱和用户名
dolt config --global --set user.email "邮箱"
dolt config --global --set user.name "用户名"
然后设置goltlab remote
dolt config --global --set remotes.default_host 你的doltLabIP
dolt config --global --set remotes.default_port 你的doltLabPort 默认是50051
dolt config --global --set user.creds 你的doltLab网址,示例http:example/settings/credentials
绑定doltLab公钥(请替换相应内容)
dolt login -url user.creds -e remotes.default_host:remotes.default_port -i
4.一些推送示例 doltlab也有
dolt init
dolt remote add 分支名 http://remotes.default_host:remotes.default_port/组织/数据库
修改数据库后
dolt add .
dolt commit -m "提交内容"
dolt push(dolt push --set-upstream orange main)
接下来与dit 操作一样
注意!!!dolt遵循祖宗规则,即本地的分支创建者和远程分支创建者必须一致,否则无法推送(也无法拉取合并)
5.更换80端口(其余端口不建议更换)
不要直接编辑容器,包括端口。更改80是doltlabenvoy容器
删除所有容器
docker-compose.yaml里doltlabenvoy节点80 替换为自己要的端口
找到docker-compose.yaml里doltlabremoteapi节点 command节点 -websiteURL设置,替换为”http://${HOST_IP}:你的端口”
envoy.yaml(文件在docker-compose.yaml同级目录)文件里 找到80端口 替换为你的端口
5.自动部署
提交到doltLab,数据库怎么连呢?用 Deploy
下载dockerfile
进入到doltLab数据库里,点击deploy,输入自己要的端口和映射目录
执行命令
点击Download Dockerfile即可生成构建命令,这里内陆用户需要更改dockerfile:
将https://github.com/dolthub/dolt/releases/latest/download/install.sh更改为https://pan.ymypay.cn/api/raw?path=/Files/Dolt/v1452/install.sh
也可以自己下载下来后 将install.sh里的github链接换成镜像 然后上传到自己的网盘 替换为自己的网盘链接
随后执行构建命令构建即可
自动部署切换分支和pull
自动部署是自动pull的
如果要切换分支,请先停掉docker容器,随后进入容器数据目录,使用dolt(请先安装) branch命令切换,然后dolt pull,随后启动容器即可。dolt-workbench无法切换分支
一些官方教程
https://docs.dolthub.com/cli-reference/cli#dolt-config
https://docs.dolthub.com/sql-reference/version-control/remotes#configuring-remotes
https://docs.dolthub.com/cli-reference/cli#dolt-login
https://docs.dolthub.com/products/hosted/cloning
https://docs.doltlab.com/older-versions/installation/start-doltlab-pre-installer
其他
很多配置在容器command以及环境变量都有 如果要替换smtp 在doltlabapi.command里 不要直接更换command 会出错,请在docker-compose.yaml里更改后重新创建容器(包括端口)
进入docker终端:docker exec [-id] 标识 [/bin/sh|/bin/bash]
微信扫描下方的二维码阅读本文