Aad*_*tti 2 c ubuntu symlink clang docker
我正在对一个应用程序进行Docker化,该应用程序涉及通过Clang将二进制文件与其他C文件链接。我们维护二进制文件的符号链接版本,因为它们已在整个代码库中使用。我的Docker构建目录包含整个代码库(包括源文件以及指向这些源文件的符号链接),而Docker在执行类似操作cat [symlinked_file](即cat正确编辑文件)时可以识别这些文件。但是,当我在Makefile中运行Clang命令时,它无法链接符号链接的文件(在Docker中无法正常工作)。然后,我将原件复制到符号链接所在的目录中,替换了符号链接,并且Docker在构建时未引发任何错误。
有谁知道如何解决这个问题?在这里,我需要向Docker或Clang提供任何特殊命令吗?我不确定为什么Clang在Docker容器中的行为与在其外部的行为不同。我正在从Ubuntu 16.04 Base Image运行以作参考。
Docker将使用符号链接(至少在我的Linux主机上构建时),但是符号链接目标必须在构建上下文中。该上下文将发送到docker引擎,并且构建在容器内的该服务器上进行,因此指向该上下文外部文件的任何链接都将无法解析:
$ ls -al
total 8
drwxr-xr-x 2 bmitch bmitch 4096 Mar 2 21:08 .
drwxr-xr-x 13 bmitch bmitch 4096 Mar 2 21:07 ..
lrwxrwxrwx 1 bmitch bmitch 11 Mar 2 21:08 outside.txt -> ../test.out
lrwxrwxrwx 1 bmitch bmitch 10 Mar 2 21:08 source.txt -> target.txt
-rw-r--r-- 1 bmitch bmitch 0 Mar 2 21:08 target.txt
$ cat Dockerfile
FROM busybox
COPY . /build-context
WORKDIR /build-context
CMD find .
$ docker build -t test-symlink .
Sending build context to Docker daemon 3.584 kB
Step 1/4 : FROM busybox
---> 7968321274dc
Step 2/4 : COPY . /build-context
---> 8238dac16669
Removing intermediate container dd653dfdf7a4
Step 3/4 : WORKDIR /build-context
---> c1850cb52f0e
Removing intermediate container 7ee87e20d525
Step 4/4 : CMD find .
---> Running in e710e965d98c
---> fd57eb8f426b
Removing intermediate container e710e965d98c
Successfully built fd57eb8f426b
$ docker run test-symlink
.
./outside.txt
./Dockerfile
./source.txt
./target.txt
$ docker run -it --rm test-symlink /bin/sh
/build-context # ls -al
total 12
drwxr-xr-x 2 root root 4096 Mar 3 02:09 .
drwxr-xr-x 20 root root 4096 Mar 3 02:09 ..
-rw-r--r-- 1 root root 69 Mar 3 02:08 Dockerfile
lrwxrwxrwx 1 root root 11 Mar 3 02:08 outside.txt -> ../test.out
lrwxrwxrwx 1 root root 10 Mar 3 02:08 source.txt -> target.txt
-rw-r--r-- 1 root root 0 Mar 3 02:08 target.txt
/build-context # cat outside.txt
cat: can't open 'outside.txt': No such file or directory
/build-context # cat target.txt
/build-context # exit
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2849 次 |
| 最近记录: |