1.绑定vim (修改容器的config.v2.json下的MountPoints标签,添加vim)
#修改容器的config.v2.json 前先停止docker服务:
service docker stop
#修改完成后启动服务才会生效
service docker start
"MountPoints": {
"vim": {
"Source": "/usr/bin/vim",
"Destination": "/usr/bin/vim",
"RW": true,
"Name": "",
"Driver": "",
"Type": "bind",
"Propagation": "rprivate",
"Spec": {
"Type": "bind",
"Source": "/usr/bin/vim",
"Target": "/usr/bin/vim"
},
"SkipMountpointCreation": false
}
}
2.进入容器
docker exec -it tomcat /bin/bash
3.查看缺失的库
输入:
ldd /usr/bin/vim
输出:
linux-vdso.so.1 (0x00007ffc23dd7000)
libm.so.6 => /lib64/libm.so.6 (0x00007fae27b57000)
libtinfo.so.5 => not found
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007fae27930000)
libacl.so.1 => /lib64/libacl.so.1 (0x00007fae27727000)
libgpm.so.2 => not found
libdl.so.2 => /lib64/libdl.so.2 (0x00007fae27523000)
libpython3.6m.so.1.0 => not found
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fae27305000)
libc.so.6 => /lib64/libc.so.6 (0x00007fae26f5a000)
/lib64/ld-linux-x86-64.so.2 (0x00007fae28331000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007fae26cf6000)
libattr.so.1 => /lib64/libattr.so.1 (0x00007fae26af1000)
缺失的库:
libtinfo.so.5 => not found
libgpm.so.2 => not found
libpython3.6m.so.1.0 => not found
4.绑定缺失的库(修改容器的config.v2.json下的MountPoints标签)
"MountPoints": {
"libgpm.so.2": {
"Source": "/usr/lib/x86_64-linux-gnu/libgpm.so.2",
"Destination": "/usr/lib/x86_64-linux-gnu/libgpm.so.2",
"RW": true,
"Name": "",
"Driver": "",
"Type": "bind",
"Propagation": "rprivate",
"Spec": {
"Type": "bind",
"Source": "/usr/lib/x86_64-linux-gnu/libgpm.so.2",
"Target": "/usr/lib/x86_64-linux-gnu/libgpm.so.2"
},
"SkipMountpointCreation": false
},
"libpython3.6m.so.1.0": {
"Source": "/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0",
"Destination": "/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0",
"RW": true,
"Name": "",
"Driver": "",
"Type": "bind",
"Propagation": "rprivate",
"Spec": {
"Type": "bind",
"Source": "/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0",
"Target": "/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0"
},
"SkipMountpointCreation": false
},
"libtinfo.so.5": {
"Source": "/lib/x86_64-linux-gnu/libtinfo.so.5",
"Destination": "/lib/x86_64-linux-gnu/libtinfo.so.5",
"RW": true,
"Name": "",
"Driver": "",
"Type": "bind",
"Propagation": "rprivate",
"Spec": {
"Type": "bind",
"Source": "/lib/x86_64-linux-gnu/libtinfo.so.5",
"Target": "/lib/x86_64-linux-gnu/libtinfo.so.5"
},
"SkipMountpointCreation": false
}
}
5.在容器中链接指定的库
ln -s /usr/lib/x86_64-linux-gnu/libtinfo.so.5 /lib64/libtinfo.so.5
ln -s /usr/lib/x86_64-linux-gnu/libgpm.so.2 /lib64/libgpm.so.2
ln -s /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0 /lib64/libpython3.6m.so.1.0
6.查看最新vim,不再有not found 就ok了.
bash-4.2# ldd /admin/usr/bin/vim
linux-vdso.so.1 (0x00007fffb3d67000)
libm.so.6 => /lib64/libm.so.6 (0x00007fb67ade3000)
libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00007fb67abb9000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007fb67a992000)
libacl.so.1 => /lib64/libacl.so.1 (0x00007fb67a789000)
libgpm.so.2 => /lib64/libgpm.so.2 (0x00007fb67a583000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fb67a37f000)
libpython3.6m.so.1.0 => /lib64/libpython3.6m.so.1.0 (0x00007fb679cd4000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fb679ab6000)
libc.so.6 => /lib64/libc.so.6 (0x00007fb67970b000)
/lib64/ld-linux-x86-64.so.2 (0x00007fb67b5bd000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007fb6794a7000)
libattr.so.1 => /lib64/libattr.so.1 (0x00007fb6792a2000)
libexpat.so.1 => /lib64/libexpat.so.1 (0x00007fb679072000)
libz.so.1 => /lib64/libz.so.1 (0x00007fb678e5d000)
libutil.so.1 => /lib64/libutil.so.1 (0x00007fb678c5a000)
网友评论