运行: docker run -itd --name busybox busybox 创建目录: docker exec -it busybox mkdir -p /lib/x86_64-linux-gnu /lib64 拷贝运行库、链接器: docker cp -a /lib/x86_64-linux-gnu/libpthread.so.0 busybox:/lib/x86_64-linux-gnu docker cp -a /lib/x86_64-linux-gnu/libpthread-2.23.so busybox:/lib/x86_64-linux-gnu docker cp -a /lib/x86_64-linux-gnu/libc-2.23.so busybox:/lib/x86_64-linux-gnu docker cp -a /lib/x86_64-linux-gnu/libc.so.6 busybox:/lib/x86_64-linux-gnu docker cp -a /lib64/ld-linux-x86-64.so.2 busybox:/lib64/ docker cp -a /lib/x86_64-linux-gnu/ld-2.23.so busybox:/lib/x86_64-linux-gnu/
docker cp -a /usr/lib/x86_64-linux-gnu/libstdc++.so.6 busybox:/lib/x86_64-linux-gnu/ docker cp -a /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21 busybox:/lib/x86_64-linux-gnu/ docker cp -a /lib/x86_64-linux-gnu/libm.so.6 busybox:/lib/x86_64-linux-gnu/ docker cp -a /lib/x86_64-linux-gnu/libm-2.23.so busybox:/lib/x86_64-linux-gnu/ docker cp -a /lib/x86_64-linux-gnu/libgcc_s.so.1 busybox:/lib/x86_64-linux-gnu/
docker commit busybox latelee/busybox:64
保存为镜像 docker commit busybox latelee/busybox-amd64
测试(预期结果有上述文件输出) docker run -it --rm latelee/busybox-amd64 ls -lh /lib/x86_64-linux-gnu /lib64
docker run -it --name webgin --rm -p 80:80 latelee/webgin
测试:
1 2 3 4 5
# curl localhost:80 Hello World v1.0 arch: amd64 os: linux hostname: 60acfd65857a uname: Linux 60acfd65857a 4.4.0-174-generic #204-Ubuntu SMP Wed Jan 29 06:41:01 UTC 2020 x86_64 Now: 2020-03-26 23:10:36
依赖文件确认
1 2 3 4 5 6 7 8 9 10
缺少链接器: / # ./webgin sh: ./webgin: not found 其它: / # /webgin /webgin: error while loading shared libraries: libpthread.so.0: cannot open shared object file: No such file or directory
/ # /webgin /webgin: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory