【问题标题】:How do I fix ln -s not working in Docker?如何修复 ln -s 在 Docker 中不起作用?
【发布时间】:2020-01-26 17:35:22
【问题描述】:
Step 3/10 : RUN mkdir -p /etc/nginx/{sites-available,sites-enabled}
Step 4/10 : COPY nginx.conf /etc/nginx/
Step 5/10 : COPY sites-available/*.conf /etc/nginx/sites-available/
Step 6/10 : RUN ln -s /etc/nginx/sites-available/* /etc/nginx/sites-enabled/
 ---> Running in a2f39a3fd6b3
ln: /etc/nginx/sites-enabled/: No such file or directory
ln: /etc/nginx/sites-enabled/: No such file or directory
ln: /etc/nginx/sites-enabled/: No such file or directory
ln: /etc/nginx/sites-enabled/: No such file or directory
ln: /etc/nginx/sites-enabled/: No such file or directory
ln: /etc/nginx/sites-enabled/: No such file or directory
ln: /etc/nginx/sites-enabled/: No such file or directory
ln: /etc/nginx/sites-enabled/: No such file or directory
The command '/bin/sh -c ln -s /etc/nginx/sites-available/* /etc/nginx/sites-enabled/*' returned a non-zero code: 1

任何线索为什么这不起作用? ^^ 我在 docker 容器之外尝试了所有这些命令,它似乎可以工作

【问题讨论】:

  • 有什么理由先将它们复制到sites-available 然后链接它们吗?另一种方法是将文件直接复制到sites-enabled 目录
  • 是的,我很笨,我可以将它们复制到启用的站点,我只是习惯于将它们复制到可用的站点并链接它们,感谢所有帮助:D
  • 是的,在这种情况下不需要它,可以通过直接复制来简化。我添加了评论作为答案,以便其他人可以找到它。您可以将其标记为答案,以便其他人可以找到它吗?
  • 完成!再次感谢您的帮助,非常感谢!

标签: docker nginx ln


【解决方案1】:

这可以通过使用以下语句将文件直接复制到sites-enabled 目录来解决:

COPY sites-available/*.conf /etc/nginx/sites-enabled/

【讨论】:

    【解决方案2】:

    您的第 3 步包括一个 bashism:

    mkdir -p /etc/nginx/{sites-available,sites-enabled}
    

    使用默认的 /bin/sh,这将创建一个目录,而不是您想要的两个目录:

    $ docker run -it --rm nginx /bin/sh
    
    # ls -al /etc/nginx
    total 48
    drwxr-xr-x 3 root root 4096 Dec 28 15:20 .
    drwxr-xr-x 1 root root 4096 Jan 26 19:46 ..
    drwxr-xr-x 2 root root 4096 Dec 28 15:20 conf.d
    -rw-r--r-- 1 root root 1007 Nov 19 12:50 fastcgi_params
    -rw-r--r-- 1 root root 2837 Nov 19 12:50 koi-utf
    -rw-r--r-- 1 root root 2223 Nov 19 12:50 koi-win
    -rw-r--r-- 1 root root 5231 Nov 19 12:50 mime.types
    lrwxrwxrwx 1 root root   22 Nov 19 12:50 modules -> /usr/lib/nginx/modules
    -rw-r--r-- 1 root root  643 Nov 19 12:50 nginx.conf
    -rw-r--r-- 1 root root  636 Nov 19 12:50 scgi_params
    -rw-r--r-- 1 root root  664 Nov 19 12:50 uwsgi_params
    -rw-r--r-- 1 root root 3610 Nov 19 12:50 win-utf
    
    # mkdir -p /etc/nginx/{sites-available,sites-enabled}
    
    # ls -al /etc/nginx
    total 56
    drwxr-xr-x 1 root root 4096 Jan 26 19:47 .
    drwxr-xr-x 1 root root 4096 Jan 26 19:46 ..
    drwxr-xr-x 2 root root 4096 Dec 28 15:20 conf.d
    -rw-r--r-- 1 root root 1007 Nov 19 12:50 fastcgi_params
    -rw-r--r-- 1 root root 2837 Nov 19 12:50 koi-utf
    -rw-r--r-- 1 root root 2223 Nov 19 12:50 koi-win
    -rw-r--r-- 1 root root 5231 Nov 19 12:50 mime.types
    lrwxrwxrwx 1 root root   22 Nov 19 12:50 modules -> /usr/lib/nginx/modules
    -rw-r--r-- 1 root root  643 Nov 19 12:50 nginx.conf
    -rw-r--r-- 1 root root  636 Nov 19 12:50 scgi_params
    -rw-r--r-- 1 root root  664 Nov 19 12:50 uwsgi_params
    -rw-r--r-- 1 root root 3610 Nov 19 12:50 win-utf
    drwxr-xr-x 2 root root 4096 Jan 26 19:47 {sites-available,sites-enabled}
    

    对于/bin/sh,需要单独列出:

    # mkdir -p /etc/nginx/sites-available /etc/nginx/sites-enabled
    
    # ls -al /etc/nginx
    total 64
    drwxr-xr-x 1 root root 4096 Jan 26 19:49 .
    drwxr-xr-x 1 root root 4096 Jan 26 19:46 ..
    drwxr-xr-x 2 root root 4096 Dec 28 15:20 conf.d
    -rw-r--r-- 1 root root 1007 Nov 19 12:50 fastcgi_params
    -rw-r--r-- 1 root root 2837 Nov 19 12:50 koi-utf
    -rw-r--r-- 1 root root 2223 Nov 19 12:50 koi-win
    -rw-r--r-- 1 root root 5231 Nov 19 12:50 mime.types
    lrwxrwxrwx 1 root root   22 Nov 19 12:50 modules -> /usr/lib/nginx/modules
    -rw-r--r-- 1 root root  643 Nov 19 12:50 nginx.conf
    -rw-r--r-- 1 root root  636 Nov 19 12:50 scgi_params
    drwxr-xr-x 2 root root 4096 Jan 26 19:49 sites-available
    drwxr-xr-x 2 root root 4096 Jan 26 19:49 sites-enabled
    -rw-r--r-- 1 root root  664 Nov 19 12:50 uwsgi_params
    -rw-r--r-- 1 root root 3610 Nov 19 12:50 win-utf
    drwxr-xr-x 2 root root 4096 Jan 26 19:47 {sites-available,sites-enabled}
    

    【讨论】:

      猜你喜欢
      • 2015-11-25
      • 2013-03-12
      • 2018-03-08
      • 2015-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      相关资源
      最近更新 更多