首先,我对码头很陌生。但这看起来挺直接的。
我正在这个文件工作。我做了一些非常基本的修改,比如安装openssl和生成一些自签名证书,以便在apache中使用ssl。下面是我添加到链接的dockerfile中的一个部分:
RUN mkdir /ssl-certs
RUN openssl req -new -newkey rsa:2048 -days 365 -nodes -x509 -subj \
"/C=../ST=../L=..../O=LAB/CN=....." \
-keyout /ssl-certs/ssl.key -out /ssl-certs/ssl.crt
RUN mkdir -p /etc/apache2/ssl/
COPY /ssl-certs/ssl.key /etc/apache2/ssl/ssl.key
COPY /ssl-certs/ssl.crt /etc/apache2/ssl/ssl.crt但是,当我编译它时,我得到了以下输出:
=> CACHED [ 8/19] RUN openssl req -new -newkey rsa:2048 -days 365 -nodes -x509 -subj "/C=../ST=../L=.... 0.0s
=> CACHED [ 9/19] RUN mkdir -p /etc/apache2/ssl/ 0.0s
=> ERROR [10/19] COPY /ssl-certs/ssl.key /etc/apache2/ssl/ssl.key 0.0s
=> ERROR [11/19] COPY /ssl-certs/ssl.crt /etc/apache2/ssl/ssl.crt 0.0s
------
> [10/19] COPY /ssl-certs/ssl.key /etc/apache2/ssl/ssl.key:
------
------
> [11/19] COPY /ssl-certs/ssl.crt /etc/apache2/ssl/ssl.crt:
------这基本上告诉我,openssl实际上并没有做任何事情,也没有等待openssl完成,这看起来不太可能。我环顾四周,似乎找不到有类似问题的人。任何指点都会受到赞赏。
发布于 2021-11-06 02:45:45
COPY /ssl-certs/ssl.key /etc/apache2/ssl/ssl.key
COPY /ssl.crt /etc/apache2/ssl/ssl.crt复制命令尝试访问主机上的/ssl-certs,而不是容器内的。你可以试试
RUN cp /ssl-certs/ssl.key /etc/apache2/ssl/ssl.key \
&& cp /ssl.crt /etc/apache2/ssl/ssl.crt编辑:不管我认为这是一种不好的做法
我想,或者更确切地说,希望它是出于开发/教育目的,但是在执行ssl时,让我们正确地这样做,即使是为了自签名的证书。
https://stackoverflow.com/questions/69860887
复制相似问题