- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想安装一些软件,比如 MySQL CLI tool和 the docs比如说 .ddev/config.yaml
可以被编辑以添加额外的 debian 包...但是非 debian 包呢?您如何安装通常通过 pip install -U mycli
安装的东西?
最佳答案
[编辑 2020-04-10:这里的方法在 Customizing DDEV-Local images with a custom Dockerfile 中有更广泛的描述]
mysql CLI 工具 (mysql) 已经安装在 ddev web 和 db 容器中,但你肯定喜欢 mycli .
如您所知,大多数流行的 Linux 工具都有 Debian 软件包,使用 webimage_extra_packages: [package1, package2]
per https://ddev.readthedocs.io/en/stable/users/extend/customizing-images/#adding-extra-debian-packages-with-webimage_extra_packages-and-dbimage_extra_packages 很容易安装这些软件包
在您的情况下,mycli 在其 github 页面上作为 Debian 软件包分发,因此您可以只使用 webimage_extra_packages: [mycli]
,这是安装它的最佳方式。
但是要在构建容器时自动安装其他工具(使用 npm 或 pip3 或 pecl/pear 或其他工具),您需要使用 custom Dockerfile .我们将使用您的 mycli 示例(就好像它没有 Debian 软件包一样)。
在 .ddev/web-build/Dockerfile 中,你会想要这样的东西,基于 .ddev/web-build/Dockerfile.example,它首先安装 pip3,然后使用它来安装 mycli:
ARG BASE_IMAGE=drud/ddev-webserver:v1.13.1
FROM $BASE_IMAGE
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y -o Dpkg::Options::="--force-confnew" --no-install-recommends --no-install-suggests python3-pip python3-setuptools
RUN pip3 install mycli
当然,对于 npm 包,我们可以从 Dockerfile.example 中获取示例,RUN npm install --global gulp-cli
。甚至可以安装 gcc 或 g++(就像我们安装 pip3 一样)并从源代码构建一个包。
如果您想安装 PECL/Pear 包,请使用 https://stackoverflow.com/a/60554990/215713 中的方法将工作。这是相同的基本思想。
自定义 Dockerfile(或 webimage_extra_packages
,在需要时)的好处在于,包含额外指令的 Docker 镜像只需要在每个配置中构建一次,而不是在每次启动时构建。请注意自定义 Dockerfile 会覆盖 webimage_extra_packages
,因此它们是互斥的。
关于ddev - 在 DDEV 中,我如何安装非 Debian 软件包,如 PECL、npm、pip 等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60679857/
这是 How can I create and load a second database in ddev? 的后续问题。这是关于自动完成该任务。 其中一个用例是开发从另一个 MySQL 数据库到
我们是一群从事多个 ddev 项目的开发人员。其中一些项目有一个“。”在他们的名字中,现在打破了 PhpStorm 集成。 有没有一种简单的方法可以重命名项目并允许所有其他开发人员告诉 ddev(在他
我需要在 ddev 的网络容器中设置环境变量。我怎样才能做到这一点?我见过覆盖 nginx 配置等的技术,但这听起来太难了。 最佳答案 您可以在 .ddev/config.yaml 或 ~/.ddev
有时您想在 ddev 设置中使用自定义节点版本。我将给出一个示例配置,说明如何将其存档。 最佳答案 在 .ddev 文件夹中创建一个名为 docker-compose.node.yaml 的文件,内容
执行以下操作的推荐方法是什么: 在 ddev 容器中安装特定版本的节点 因此它仍然存在(在 ddev 停止/启动后) 每个下载并构建容器的用户都会获得正确的节点版本吗? 其背后的想法是“钉住”节点版本
ddev 当前缺少 export-db 命令(参见 https://github.com/drud/ddev/issues/767) 如何导出数据库? 最佳答案 从 ddev v1.4.0 (2018
我有两个需要相互交互的 ddev 项目。当遇到一些问题时,我检查连接的已解析 IP。 我通过 ssh 进入 project1 和 ping project2 ( ping project2.ddev.
我保留了一个我经常用来构建站点的 sql 导入文件,在升级到 ddev v0.19.0 之后,我在执行 `ddev import-db --src=.tarballs/d7git.sql.gz 时得到
我需要在我的 ddev 项目上运行 composer,但我的 Windows 机器上没有。例如,该项目需要在启动前安装 composer install。如何在此环境中使用 Composer,尤其是在
目前,DDEV Web 容器未附带 nvm(节点版本管理器)。如何通过 DDEV config.yaml 文件添加和使用它? 最佳答案 我建议使用 .ddev/web-build/Dockerfile
我有一个不寻常的设置,我想在 DDEV-Local 的 MailHog 功能上提供一些身份验证。如何添加基本身份验证? 最佳答案 因为事实证明 MailHog supports basic auth并
在启动我的 ddev 项目并使用 Web 浏览器点击它后,我突然开始收到“ngnix 403 Forbidden/directory index of "/var/www/html/"is forbi
我将 ddev 更新到版本 1.3.0 并运行了 ddev config。之后,我将配置从 nginx-fpm 更改为 apache-fpm。启动 ddev 并检查 HTTP header 后,使用了
我正在使用 DDEV 1.8.0。 我使用 justinribeiro/chrome-headless 运行 Behat 测试。它通过一个名为 docker-compose.chrome.yaml 的
我有一个 Drupal 项目,我想使用 Node.js 构建脚本将 SCSS 编译成 CSS。 最佳答案 我使用了一个单独的 sidecar 容器,它不断监视我的 Drupal 主题中 SCSS 的变
我已经使用 DDEV 几天了,它很棒。 但是我发现如果我运行 ddev ssh通过 ssh 进入容器,并通过 npm / aptitude 安装包等等,或者如果我在 ~/ 中创建新文件主目录,有时这些
自从我将我的 ddev 配置更改为使用 mysql_version: "8.0" ddev sequelpro命令打开 sequelpro 但我得到一个 unrecognized selector s
我想安装一些软件,比如 MySQL CLI tool和 the docs比如说 .ddev/config.yaml 可以被编辑以添加额外的 debian 包...但是非 debian 包呢?您如何安装
我正在尝试使用 ddev exec 在容器中使用 bash 做一些复杂的事情。并且似乎无法让它工作。例如,ddev exec cd /var/tmp导致一个很大的错误信息 Failed to exec
我已经使用 ddev auth ssh 将我的 ssh 身份添加到我的 DDEV-Local 项目中。 但是当我使用 ssh 连接到外部主机时,ssh example.com 我得到“太多身份验证失败
我是一名优秀的程序员,十分优秀!