Я отвечу по поводу «Я думаю, что подключение к хосту через« SSH »и выполнение скрипта, похоже, нормально, но как я могу это сделать»
Pass Ip хост-машинык вашей команде запуска.
docker run --name redis --env pass=pass_my --add-host="hostmachine:192.168.1.23" -dit redis
Теперь
docker exec -it redis ash
и выполните эту команду.Это сделает SSH от контейнера к хосту
ssh user_name@hostmachine 'ls; bash /home/user_name/Desktop/test.sh; docker run --name db -dit db; docker ps'
Если вы хотите что-то без пароля, тогда установите ssh-ключ в контейнере, или вы также можете попробовать
sshpass -p $pass ssh user_name@hostmachine 'ls;/home/user_name/Desktop/test.sh; docker run --name db -d
it db; docker ps'
или, если хотитедля запуска скрипта, который находится внутри контейнера, вы также можете сделать это, просто передав скрипт в ssh.
sshpass -p $pass ssh user_name@hostmachine < ./ab.sh
Примечание: $ pass - пароль хоста от ENV
и hostmachine
является хостом, который мы установили во время выполнения команды.