- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
标题说明了一切。我的docker-compose.yml
:
swagger:
container_name: "swagger"
build:
context: web/
dockerfile: swagger/Dockerfile
dns:
- "8.8.8.8"
- "10.0.0.2"
volumes:
- ./web/swagger:/var/www/swagger:delegated
- ./web/api/controllers:/var/www/swagger/controllers:ro
- ./web/swagger/vendor:/var/www/swagger/vendor
Dockerfile
:
FROM php:zts-alpine3.11
RUN apk update && apk upgrade
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin/ --filename=composer
WORKDIR /var/www/swagger
COPY swagger/composer.json ./
COPY swagger/composer.lock ./
RUN composer install --no-scripts --no-autoloader
COPY swagger .
COPY api/controllers controllers
EXPOSE 80
CMD php -S 0.0.0.0:80
Building swagger
Step 1/11 : FROM php:zts-alpine3.11
---> d9293b396dfe
Step 2/11 : RUN apk update && apk upgrade
---> Using cache
---> f3ea600aa726
Step 3/11 : RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin/ --filename=composer
---> Using cache
---> 4fe1237c5dc2
Step 4/11 : WORKDIR /var/www/swagger
---> Using cache
---> c669a7b04c35
Step 5/11 : COPY swagger/composer.json ./
---> c5e6e3bbb97f
Step 6/11 : COPY swagger/composer.lock ./
---> 01e36ce086ae
Step 7/11 : RUN composer install --no-scripts --no-autoloader
---> Running in e08f6cf0fd92
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Package operations: 6 installs, 0 updates, 0 removals
- Installing doctrine/lexer (1.2.0): Downloading (100%)
- Installing symfony/polyfill-ctype (v1.17.0): Downloading (100%)
- Installing symfony/yaml (v5.0.8): Downloading (100%)
- Installing symfony/finder (v5.0.8): Downloading (100%)
- Installing doctrine/annotations (1.10.2): Downloading (100%)
- Installing zircote/swagger-php (3.0.4): Downloading (100%)
symfony/yaml suggests installing symfony/console (For validating YAML files using the lint command)
3 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
Removing intermediate container e08f6cf0fd92
---> db2db0c4240b
Step 8/11 : COPY swagger .
---> 04936a4370a0
Step 9/11 : COPY api/controllers controllers
---> d996bb813094
Step 10/11 : EXPOSE 80
---> Running in 82abb1153d51
Removing intermediate container 82abb1153d51
---> d2be0a04a504
Step 11/11 : CMD php -S 0.0.0.0:80
---> Running in 73e3d941ec27
Removing intermediate container 73e3d941ec27
---> 1a4ae5218579
Successfully built 1a4ae5218579
Successfully tagged apogo3_swagger:latest
RUN composer install --no-scripts --no-autoloader
命令之后执行ssh的每一步,以查看供应商文件夹何时消失,但没有运气。在Dockerfile构建过程中,它在任何时候都不会消失,这让我质疑
docker-compose.yml
文件,尤其是在
volumes
部分。我是Docker的新手,我可能误会了一些东西。
最佳答案
您可以从volumes:
文件中删除所有docker-compose.yml
。volumes:
是在容器启动时进行的单向“推送”:它们始终从主机目录或命名卷中获取内容,并用其替换镜像中的数据。 (在一种特殊情况下,首次使用命名卷时,该卷会预先加载镜像中的数据,但我不会依赖于此:Docker永远不会更新卷内容,因为它可能包含用户数据,并且这不适用于Kubernetes等集群环境。)
在您的设置中,您需要几个主机目录,并使用这些目录隐藏图像中的内容。特别是,您要从主机获取空的vendor
目录,并在图像中隐藏vendor
目录。 (它不是命名卷,因此“在首次使用时填充卷”规则不适用。)
您需要的所有内容都已经在正确位置的图像中,因此您实际上根本不需要volumes:
。这还具有使镜像完全独立的优势:如果需要在其他系统上运行它,则可以将其docker push
到注册表中,并可以从远程系统docker run
对其进行编码,而无需单独的应用程序代码副本。 (同样,这在像Kubernetes这样的集群环境中基本上是必需的。)
关于docker - dockerfile完成构建后,供应商文件夹消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61984330/
从 Redis 获取消息时,onDone:(){print('done')} 从未起作用。 import 'package:dartis/dartis.dart' as redis show PubS
昨天我玩了一些vim脚本,并设法通过循环来对当前输入的内容进行状态栏预测(请参见屏幕截图(灰色+黄色栏))。 问题是,我不记得我是怎么得到的,也找不到我用于该vim魔术的代码片段(我记得它很简单):它
我尝试加载 bash_completion在我的 bash (3.2.25) 中,它不起作用。没有消息等。我在我的 .bashrc 中使用了以下内容 if [ -f ~/.bash_completio
我正在尝试构建一个 bash 完成例程,它将建议命令行标志和合适的标志值。例如在下面 fstcompose 命令我想比赛套路先建议 compose_filter= 标志,然后建议来自 [alt_seq
当我尝试在重定向符号后完成路径时,bash 完成的行为就好像它仍在尝试在重定向之前完成命令的参数一样。 例如: dpkg -l > /med标签 通过在 /med 之后点击 Tab我希望它完成通往 /
我的类中有几个 CAKeyframeAnimation 对象。 他们都以 self 为代表。 在我的animationDidStop函数中,我如何知道调用来自哪里? 是否有任何变量可以传递给 CAKe
我有一个带有 NSDateFormatter 的 NSTextField。格式化程序接受“mm/dd/yy”。 可以自动补全日期吗?因此,用户可以输入“mm”,格式化程序将完成当前月份和年份。 最佳答
有一个解决方案可以使用以下方法完成 NSTextField : - (NSArray *)control:(NSControl *)control textView:(NSTextView *)tex
我正在阅读 Passport 的文档,我注意到 serialize()和 deserialize() done()被调用而不被返回。 但是,当使用 passport.use() 设置新策略时在回调函数
在 ubuntu 11.10 上的 Firefox 8.0 中,尽管 img.complete 为 false,但仍会调用 onload 函数 draw。我设法用 setTimeout hack 解决
假设我有两个与两个并行执行的计算相对应的 future 。我如何等到第一个 future 准备好?理想情况下,我正在寻找类似于Python asyncio's wait且参数为return_when=
我正在寻找一种 Java 7 数据结构,其行为类似于 java.util.Queue,并且还具有“最终项目已被删除”的概念。 例如,应可以表达如下概念: while(!endingQueue.isFi
这是一个简单的问题。 if ($('.dataTablePageList')) { 我想做的是执行一个 if 语句,该语句表示如果具有 dataTablesPageList 类的对象也具有 menu
我用replaceWith批量替换了许多div中的html。替换后,我使用 jTruncate 来截断文本。然而它不起作用,因为在执行时,replaceWith 还没有完成。 我尝试了回调技巧 ( H
有没有办法调用 javascript 表单 submit() 函数或 JQuery $.submit() 函数并确保它完成提交过程?具体来说,在一个表单中,我试图在一个 IFrame 中提交一个表单。
我有以下方法: function animatePortfolio(fadeElement) { fadeElement.children('article').each(function(i
我刚刚开始使用 AndEngine, 我正在像这样移动 Sprite : if(pValueY < 0 && !jumping) { jumping =
我正在使用 asynctask 来执行冗长的操作,例如数据库读取。我想开始一个新 Activity 并在所有异步任务完成后呈现其内容。实现这一目标的最佳方法是什么? 我知道 onPostExecute
我有一个脚本需要命令名称和该命令的参数作为参数。 所以我想编写一个完成函数来完成命令的名称并完成该命令的参数。 所以我可以这样完成命令的名称 if [[ "$COMP_CWORD" == 1 ]];
我的应用程序有一个相当奇怪的行为。我在 BOOT_COMPLETE 之后启动我的应用程序,因此在我启动设备后它是可见的。 GUI 响应迅速,一切正常,直到我调用 finish(),按下按钮时,什么都没
我是一名优秀的程序员,十分优秀!