美文网首页
Docker容器中使用vim

Docker容器中使用vim

作者: 水妖 | 来源:发表于2021-12-08 15:15 被阅读0次

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)

相关文章

网友评论

      本文标题:Docker容器中使用vim

      本文链接:https://www.haomeiwen.com/subject/usrtfrtx.html