通过 docker 运行 memSQL 时更改 memSQL 默认聚合器端口
Changing memSQL default aggregator port when running memSQL via docker
我正在尝试通过 docker 容器使用 MemSQL。
下面是我的 Docker-compose.yml memsql docker
条目
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 设置来设置?
1.貌似memSQL是运行ning后就不能改端口了,那之前怎么改呢?
我建议您从 here 开始,这意味着您可以从修改调用 setup.sh
的安装脚本开始,然后修改 Dockerfile 以公开所需的端口而不是 3306,这将使启动容器时,您可以拥有正确的端口
2。如何通过 docker-compose 设置来设置?
如果只需要更改为 运行 这个命令或额外的简单步骤:
memsql-ops memsql-update-config --key=port --value=3307
您可以使用 environment 键通过 docker-compose.yml 将端口作为环境变量传递,并将上述命令添加到名为 memsql-entrypoint.sh
的脚本中像这样:
if [ ! -z "$CUSTOM_PORT" ]; then
memsql-ops memsql-update-config --key=port --value=$CUSTOM_PORT
fi
In both cases you will need a customized Dockerfile and use memsql/quickstart
as a base image.
在 Docker 中的 MemSQL 运行 上下文中,最简单的方法是将 MemSQL 运行 保留在 docker 容器内的端口 3306 上,但有一个不同的主机端口映射到该端口。
在非Docker 安装中,您可以在安装过程中选择用于安装 MemSQL 的端口(https://docs.memsql.com/memsql-tools-reference/latest/create-node/ 的 --port 选项)。也可以通过删除并重新添加所需的端口来更改节点的端口 - memsql-update-config 不能用于此。
我正在尝试通过 docker 容器使用 MemSQL。
下面是我的 Docker-compose.yml memsql docker
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 设置来设置?
1.貌似memSQL是运行ning后就不能改端口了,那之前怎么改呢?
我建议您从 here 开始,这意味着您可以从修改调用 setup.sh
的安装脚本开始,然后修改 Dockerfile 以公开所需的端口而不是 3306,这将使启动容器时,您可以拥有正确的端口
2。如何通过 docker-compose 设置来设置?
如果只需要更改为 运行 这个命令或额外的简单步骤:
memsql-ops memsql-update-config --key=port --value=3307
您可以使用 environment 键通过 docker-compose.yml 将端口作为环境变量传递,并将上述命令添加到名为 memsql-entrypoint.sh
的脚本中像这样:
if [ ! -z "$CUSTOM_PORT" ]; then
memsql-ops memsql-update-config --key=port --value=$CUSTOM_PORT
fi
In both cases you will need a customized Dockerfile and use
memsql/quickstart
as a base image.
在 Docker 中的 MemSQL 运行 上下文中,最简单的方法是将 MemSQL 运行 保留在 docker 容器内的端口 3306 上,但有一个不同的主机端口映射到该端口。
在非Docker 安装中,您可以在安装过程中选择用于安装 MemSQL 的端口(https://docs.memsql.com/memsql-tools-reference/latest/create-node/ 的 --port 选项)。也可以通过删除并重新添加所需的端口来更改节点的端口 - memsql-update-config 不能用于此。