如何在 docker 映像中創建目錄? (How can I make dir inside docker image?)


問題描述

如何在 docker 映像中創建目錄? (How can I make dir inside docker image?)

為什麼會出錯?

Dockerfile

FROM certbot/certbot

WORKDIR /
RUN mkdir ‑p /etc/letsencrypt/live
RUN cd /etc/letsencrypt/live

docker build ‑‑no‑cache .

/ bin/sh: cd: line 1: can't cd to /etc/letsencrypt/live: No such file or directory


參考解法

方法 1:

If you look at the Docker Hub certbot/certbot page, click on "Tags", and select one of the tags, you can get an automated dump of the build sequence for the image. Of note, that contains a line

VOLUME [/etc/letsencrypt /var/lib/letsencrypt]

A directory that's marked as a VOLUME in a Dockerfile can't be subsequently modified by RUN commands, even in a derived image; changes will just be discarded.

方法 2:

As a workaround, you may try to add there an empty file from outside into that directory

ADD readme.txt /etc/letsencrypt/live/readme.txt

(by alexey2baranovDavid Mazelazylead)

參考文件

  1. How can I make dir inside docker image? (CC BY‑SA 2.5/3.0/4.0)

#Certbot #mkdir #docker






相關問題

certbot-auto /letsencrypt 為指向同一服務器的多個域設置一個密鑰 (certbot-auto / letsencrypt setting up one key for multiple domains pointing to the same server)

certbot 工作時 Phpseclib 早期執行 (Phpseclib early execution while certbot working)

“httpd.service 的作業失敗,因為控制進程以錯誤代碼退出。” 我該如何解決? ("Job for httpd.service failed because the control process exited with error code." How do I fix this?)

無法使用 certbot renew/Letsencrypt 續訂證書 (Cannot renew certificates with certbot renew/Letsencrypt)

為 AWS 中託管的網站設置 HTTPS,但指向局域網中的 webAPI (Setting up HTTPS for a website hosted in AWS, but points to a webAPI in the local area network)

docker 發送內部 cerbot 日誌文件到主機 journald (docker send internal cerbot log file to host journald)

Nginx 允許來自任何域的流量 (Nginx allow traffic from any domain)

如何有效地為 2 個遠程節點使用 Kubernetes (How to use Kubernetes effectively for 2 distant nodes)

如何在 docker 映像中創建目錄? (How can I make dir inside docker image?)

更新 Certbot 時出現“連接超時(可能是防火牆問題)” ("Timeout during connect (likely firewall problem)" while renewing Certbot)

安裝certbot後找不到nginx頁面錯誤 (nginx page not found error after certbot installation)

Nginx 和 certbot 的 ERR_SSL_PROTOCOL_ERROR (ERR_SSL_PROTOCOL_ERROR with Nginx & certbot)







留言討論