docker-compose 入口点标签转义单引号不起作用。 我尝试使用代码来转义 docker-docker 入口点标记中的单引号。这可以在我的命令行中运行,但不能在 docker-compose 入口点中运行...
这是我的 test.yml 示例代码:
version: "2.4"
services:
mysql:
container_name: test
image: "java-build:21-focal"
entrypoint:
/bin/bash -c "
echo $'CREATE DATABASE IF NOT EXISTS temporal; CREATE DATABASE IF NOT EXISTS temporal_visibility; GRANT ALL PRIVILEGES ON *.* TO \'temporal_admin\'@\'%\'; GRANT ALL PRIVILEGES ON *.* TO \'temporal_admin\'@\'%\'; FLUSH PRIVILEGES;' > /tmp/init.sql;
cat /tmp/init.sql
"
输出:
CREATE DATABASE IF NOT EXISTS temporal; CREATE DATABASE IF NOT EXISTS temporal_visibility; GRANT ALL PRIVILEGES ON *.* TO temporal_admin@%; GRANT ALL PRIVILEGES ON *.* TO temporal_admin@%; FLUSH PRIVILEGES;
如您所见,转义单引号不起作用......有什么想法吗?
这应该修复它并保留单引号:
version: "2.4"
services:
mysql:
container_name: test
image: "ubuntu:focal"
entrypoint:
- /bin/bash
- -c
- |
echo $'CREATE DATABASE IF NOT EXISTS temporal; CREATE DATABASE IF NOT EXISTS temporal_visibility; GRANT ALL PRIVILEGES ON *.* TO \'temporal_admin\'@\'%\'; GRANT ALL PRIVILEGES ON *.* TO \'temporal_admin\'@\'%\'; FLUSH PRIVILEGES;' > /tmp/init.sql;
cat /tmp/init.sql
输出:
CREATE DATABASE IF NOT EXISTS temporal; CREATE DATABASE IF NOT EXISTS temporal_visibility; GRANT ALL PRIVILEGES ON *.* TO 'temporal_admin'@'%'; GRANT ALL PRIVILEGES ON *.* TO 'temporal_admin'@'%'; FLUSH PRIVILEGES;
我所做的改变:
|
处理多行字符串