Bor*_*kov 6 nginx docker docker-compose
我有2个容器:web
和nginx
.当我构建web
容器时,在容器内生成前端的静态资产.
现在,我希望在主机之间web
和nginx
不使用卷的情况下共享这些资产.否则,我将不得不在主机端构建这些静态资产,然后将其作为卷web
包含在容器中并与nginx
容器共享.从构建系统的角度来看,这是不可取的.
有没有办法在web
容器中构建静态资产然后与它们共享nginx
?
否则,我必须在主机端构建这些静态资产,然后作为卷包含到 Web 容器中并与 nginx 容器共享。
这个说法似乎不正确。
如果静态资产是作为构建过程的一部分生成的,则只需在运行时在该目录顶部安装一个卷即可。Docker 会负责将底层内容复制到卷中,之后您可以使用 .nginx 在 nginx 容器中访问它--volumes-from
。
例如,如果我从Dockerfile
我的 Web 容器开始:
FROM alpine
RUN apk add --update darkhttpd
COPY assets /assets
CMD ["darkhttpd", "/assets"]
Run Code Online (Sandbox Code Playgroud)
我现在有一个/assets
包含静态资产的目录。如果我将此图像运行为:
docker run -v /assets --name web web
Run Code Online (Sandbox Code Playgroud)
那么/assets
(a) 是一个卷,(b) 包含目录的内容/assets
。
现在您可以启动 nginx 容器并与其共享此数据:
docker run --volumes-from web nginx
Run Code Online (Sandbox Code Playgroud)
nginx 容器将有一个/assets
包含静态资产的目录。
我在这里整理了一个小例子。
归档时间: |
|
查看次数: |
1984 次 |
最近记录: |