我在docker主机上有一个脚本,我想运行它并在其容器内创建符号链接。但是,当我在下面运行我的脚本时,我似乎无法获得创建的符号链接:
#!/bin/bash
declare -A containers
while IFS== read -r key value; do
containers[$key]=${value}
S=$(sudo docker exec -t $key ln -s /srv/my.cnf /etc/mysql/my.cnf);
done < "/opt/containers.txt"
奇怪的是,当我直接在终端中运行脚本之外的命令时,它确实有效。如,
sudo docker exec -t db-test-1 ln -s /srv/my.cnf /etc/mysql/my.cnf
所以不确定为什么它不会在脚本中运行。有什么建议吗?
答案 0 :(得分:1)
对于测试,你可以看到在它自己的shel中隔离命令(这里是ln)是否有帮助:
S=$(sudo docker exec -t $key /bin/sh -c "ln -s /srv/my.cnf /etc/mysql/my.cnf");