我正在處理一個 Docker 鏡像,它對 Lua 專案進行 lint,容器可以通過一個卷訪問它,Dockerfile看起來像這樣(它的相關部分):
FROM debian:bullseye-slim
SHELL ["/bin/bash", "-O", "globstar", "-c"]
COPY --from=builder /usr/local/bin /usr/local/bin
COPY lint.sh /
RUN apt-get update && \
apt-get upgrade -y && \
apt-get install --no-install-recommends gcc=4:10.2.1-1 luarocks=2.4.2 dfsg-1.1 -y && \
rm -rf /var/lib/apt/lists/* && \
luarocks install luacheck
CMD PROJECT_DIRECTORY=$(ls -d */ | grep -vE "bin|boot|dev|etc|home|lib|lib64|media|mnt|opt|proc|root|run|sbin|srv|sys|tmp|usr|var") && \
cd $PROJECT_DIRECTORY && \
stylua ./**/*.lua && \
lua-format -i ./**/*.lua && \
luacheck ./**/*.lua && \
selene ./**/*.lua
一旦構建了鏡像,容器就會像這樣被呼叫:
docker run -v $PWD:/<any-directory> <image>
問題是,我目前無法<any-directory>從容器內部獲取名稱,而且我不想在為此運行容器時傳遞額外的引數,有什么實用的方法可以完成這樣的事情嗎?
uj5u.com熱心網友回復:
通常,在構建映像時,諸如容器路徑或容器行程將偵聽的埠之類的屬性是固定的。作為鏡像維護者,你可以選擇任何你想要的路徑;Docker 容器中的典型選擇是/app. 在 Dockerfile 中,您可以指定
WORKDIR /app
并假設目錄名稱是固定的;如果你確實需要有系結貼裝的東西,誰使用的影像將始終使用/app作為下半年docker run -v的選項。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/334158.html
標籤:码头工人 文件 docker-volume
