背景:jenkins是使用的docker 安装的,当时安装的时候只挂载了目录。 /var/jenkins_home
然后在使用jenkins 的时候, 发现执行的cp命令无效
问题:在jenkins里面的执行shell 执行语句,cp -rf flask_api/* /media/flask_api。 执行完后,提示成功。但是去/media/flask_api目录下看,文件还是旧的。
解决办法:在jenkins的shell里面打印flask_api目录下的文件,然后看下路径pwd。 此时发现这个目录下的文件又是最新的,那么问题出现在哪里呢? 最后 我才发现了,我们复制的文件拷贝到了容器的/media/flask_api目录下,因此宿主机上面的/media/flask_api目录的文件还是旧的。这里我们只需要把宿主机的这个目录挂在到容器就好了。
容器已经存在:
1. systemctl stop docker 停止docker
2.cd /var/lib/docker/containers/。进入容器目录
3.选择对应容器进去。 cd containerID
4.vim config.v2.json
5.在MountPoints下增加
"/media":{
"Source":"/media",
"Destination":"/media",
"RW":true,
"Name":"",
"Driver":"",
"Type":"bind",
"Propagation":"rprivate",
"Spec":{
"Type":"bind",
"Source":"/media",
"Target":"/media"
},
"SkipMountpointCreation":false
}
6. 重启docker systemctl start docker
7.此时在执行cp命令。 就可以了。