我有詹金斯管道:多搬运工运行命令
node('some_vm') {
stage('Build'){
sh '''\\
docker run --name my_container --privileged -v /dev/vboxdrv:/dev/vboxdrv\\
-v /usr/bin/vboxheadless:/usr/bin/vboxheadless\\
-v /usr/bin/vboxmanage:/usr/bin/vboxmanage\\
-v /lib/modules/4.4.0-62-generic/kernel/ubuntu/vbox/vboxguest/:/lib/modules/4.4.0-62-generic/kernel/ubuntu/vbox/vboxguest/\\
-v /lib/modules/4.4.0-62-generic/kernel/ubuntu/vbox/vboxsf/:/lib/modules/4.4.0-62-generic/kernel/ubuntu/vbox/vboxsf/\\
-v /lib/modules/4.4.0-62-generic/kernel/ubuntu/vbox/vboxvideo/:/lib/modules/4.4.0-62-generic/kernel/ubuntu/vbox/vboxvideo/\\
-v /usr/lib/virtualbox/:/usr/lib/virtualbox/\\
-v /etc/udev/rules.d/60-vboxdrv.rules:/etc/udev/rules.d/60-vboxdrv.rules\\
-v /sbin/lsmod:/sbin/lsmod\\
-v /sbin/modprobe:/sbin/modprobe\\
-v /lib/x86_64-linux-gnu/libssl.so.1.0.0:/lib/x86_64-linux-gnu/libssl.so.1.0.0\\
-v /lib/x86_64-linux-gnu/libcrypto.so.1.0.0:/lib/x86_64-linux-gnu/libcrypto.so.1.0.0\\
-v /usr/bin/vboxsdl:/usr/bin/vboxsdl\\
-v /usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0:/usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0\\
-v /usr/lib/x86_64-linux-gnu/libcaca.so.0:/usr/lib/x86_64-linux-gnu/libcaca.so.0\\
-v /lib/x86_64-linux-gnu/libslang.so.2:/lib/x86_64-linux-gnu/libslang.so.2\\
-v /home/jenkins/workspace/test/:/config/\\
-v /home/jenkins/workspace/test/vms:/root/VirtualBox\\ VMs/\\
-e VAGRANT_1 -e VAGRANT_2 -e VAGRANT_3 test_image\\
'''
}
}
但总是失败,出现错误:
"docker run" requires at least 1 argument(s).
See 'docker run --help'.
我尝试不同的方法才达到多泊坞窗运行命令,但至今没有运气。
也许有人对此有些想法?
删除\\并在每行的末尾添加\。 –
我试过这种方法,但它不起作用。/kernel/ubuntu/vbox/vboxvideo/\ ^ 1错误 – user54
在最后给出一个空格并且只使用单个\和最后一行的一些问题-v/home/jenkins/workspace/test/vms:/ root/VirtualBox \\ VMs/\\ –