Запустить Docker с помощью сценария оболочки с удаленного компьютера?

#shell #docker #docker-compose #docker-machine

#оболочка #docker #docker-compose #docker-machine

Вопрос:

Привет, я хочу запустить контейнер docker jenkins и добавить задания с помощью команды jenkins-CLI, этот процесс успешно выполнен, когда я делал это вручную, а также с помощью сценария оболочки. Но основная проблема заключается в том, что когда я пытаюсь выполнить этот скрипт с удаленного компьютера, запускается контейнер docker, но когда я пытаюсь выполнить команды в контейнере docker с удаленного компьютера, отображается ошибка

не удается включить режим tty при вводе, отличном от tty

не удается включить режим tty при вводе, отличном от tty

Мой скрипт на компьютере docker

 b="branch1"

sed -i "s/master/$b/g" /root/docker/config.xml

#Run docker jenkins base image
docker run -d -P localhost:5000/jenkins_base2

#Printing docker container
export c=($(docker ps))
echo "${c[8]}"
export x="${c[8]}"

sleep 5

#Copying Config file
docker exec -it ${c[8]} bash -c 'scp root@192.168.0.86:/root/docker/config.xml /root/'

sleep 25

#creating job using jenkins CLI
docker exec -ti ${c[8]} bash -c 'java -jar /opt/apache-tomcat-7.0.68/webapps/jenkins/WEB-INF/jenkins-cli.jar -s http://localhost:8080/ create-job  $b  < /root/config.xml '
  

скрипт на удаленном компьютере

 ssh 192.168.0.86 sh docker.sh
  

Ответ №1:

Попробуйте ssh с -tt опцией.

 ssh -tt 192.168.0.86 sh docker.sh