docker - 通过 docker 运行 memSQL 时更改 memSQL 默认聚合器端口
问题描述
我正在尝试通过 docker 容器使用 MemSQL。
下面是我的 memsql docker 的 Docker-compose.yml 条目
memsql:
image: memsql/quickstart
volumes:
- "./jenkins/jenkins_memsql_schema.sql:/schema.sql"
ports:
- "3307:3306"
- "9000:9000"
hostname: memsql
container_name: memsql
memsql 运行的默认端口是 3306。我想更改这个默认端口。
当我举起这个容器并尝试从容器内更改端口时。
我使用以下命令:
memsql-ops memsql-update-config --key=port --value=3307
我收到以下错误:
You cannot change the port variable for an existing MemSQL node.
所以:
- 似乎一旦 memSQL 运行,您就无法更改端口,那么您之前如何更改它?
- 如何通过 docker-compose 设置进行设置?
解决方案
在 Docker 中运行 MemSQL 的上下文中,最简单的方法是让 MemSQL 在 docker 容器内的端口 3306 上运行,但与该端口有不同的主机端口映射。
在非 Docker 安装中,您可以选择在安装期间安装 MemSQL 的端口(--port 选项到https://docs.memsql.com/memsql-tools-reference/latest/create-node/)。也可以通过删除并使用所需端口重新添加节点来更改节点的端口 - memsql-update-config 不能用于此。
推荐阅读
- java - Java Spring中的帮助类
- javascript - 无法将字符串转换为数字
- python-3.x - 当纸张本身有印刷的角/线时,如何找到纸张的角?
- docker - docker-compose 中的端口冲突
- typescript - 使用 ConnectedProps 和 redux-thunk 获取正确的调度类型
- html - 里面的一个元素使用 flex 时比其他宽得多。我怎样才能使分离均匀?
- c - 尝试平衡二叉搜索树时出现内存错误?
- php - PHP:Excel 无法打开文件,因为文件格式或文件扩展名无效
- php - 如何在登录前使用 PHP 验证密码和 pin 是否正确?
- c++ - 如何获取返回的右值引用的地址?