首页 > 解决方案 > 如何在 Mysql docker 容器中设置 MYSQL_PS1

问题描述

我有三个具有组复制的复制 mysql 节点。

当我启动它们时,它们具有相同的提示 (mysql>)。我想为他们所有人提供不同的提示

标签: mysqldockerdockerfile

解决方案


docker exec有一个-e可以指定环境变量的选项。

$ docker exec -e ROOT='r $ ' -it amazing_diffie bash
root@b4bedf563797:/# echo $ROOT
r $

也可以在创建容器时指定环境变量

$ docker run -e MYSQL_ROOT_PASSWORD=bob \
             -e MYSQL_PS1='r $' \
             --name node1  mysql:8.0

然后已经在容器中:

$ docker exec  -it node1 bash
root@a3e6e65f2b89:/# env
MYSQL_MAJOR=8.0
HOSTNAME=a3e6e65f2b89
PWD=/
MYSQL_ROOT_PASSWORD=bob
HOME=/root
MYSQL_VERSION=8.0.19-1debian10
GOSU_VERSION=1.12
TERM=xterm
MYSQL_PS1=r $
SHLVL=1
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

推荐阅读