在 Mac 上,我在 Docker 中运行 Lando。我使用的是 Lando v3.0.1 并且成功运行了 Docker Desktop v2.2.0.5。
Docker 发布了一个稳定的更新 v.2.3.0.3,我安装了它。之后,我尝试运行 Lando,但收到一条警告消息,指出不支持 Docker 桌面版本。
所以,我想知道是否可以在不卸载 Docker 的情况下回滚到我以前的 Docker 桌面版本。
我尝试了这个(不应该返回任何内容):
$ lando ssh -s appserver -u root -c "echo \"10.0.0.132 pds\" >> /etc/hosts"
10.0.0.132 pds >> /etc/hosts
$ lando ssh -s appserver -u root -c "cat /etc/hosts"
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.26.0.2 8da36421fdb0
172.19.0.3 8da36421fdb0
172.18.0.4 8da36421fdb0
Run Code Online (Sandbox Code Playgroud)
这表明它没有被添加。当我以 root 身份进入并在容器内执行此操作时,它就可以工作了。
我想在构建脚本中自动执行此操作。如何?我究竟做错了什么?
显然这可以通过“docker run --add-host”来完成,但是如何将其包含在 .lando.yml 文件中?
我正在使用名为 Lando(基于 Docker)的应用程序在本地(在 Ubuntu 上)运行 Wordpress 实例。我正在开发一个自定义的 Wordpress 插件,我想在 Lando 中符号链接到 Wordpress,但它不起作用。符号链接在那里,指向正确的本地目录但未被识别。
$ ln -s /home/user/Source/ta-clicklist ta-clicklist
$ pwd
/home/user/Documents/mysite.local/wordpress/wp-content/plugins
$ ls -lah
total 36K
drwxr-xr-x 7 user user 4.0K Jul 14 16:36 .
drwxr-xr-x 6 user user 4.0K Jul 14 16:34 ..
drwxr-xr-x 4 user user 4.0K Jul 13 14:40 akismet
-rw-r--r-- 1 user user 2.6K Mar 18 2019 hello.php
-rw-r--r-- 1 user user 28 Jun 5 2014 index.php
lrwxrwxrwx 1 user user 30 Jul 14 16:36 ta-clicklist -> …Run Code Online (Sandbox Code Playgroud) 我的公司有在我的系统上运行在 Docker 中的软件,但没有使用 Lando。该软件通过 URL 提供一些数据:http : //local.relay.cool : 8081/clicks-bff/api/ads/
我可以在匿名浏览器中点击这个 URL,从终端 cURL 它,然后通过 Postman 加载它,它返回预期的数据。
我正在使用 Wordpress 配方运行 Lando,并且正在开发一个插件。这个插件可以访问外部 URL 并检索数据,我尝试了几个不同的只是为了确认。
但是,当 Lando 尝试访问上面列出的 URL 时,我收到一个 WP_Error:
object(WP_Error)#1269 (2) { ["errors"]=> array(1) { ["http_request_failed"]=> array(1) { [0]=> string(58) "cURL error 28: Resolving timed out after 5514 milliseconds" } } ["error_data"]=> array(0) { } }
Run Code Online (Sandbox Code Playgroud)
这是 .lando.yaml 配置块:
name: my app name
recipe: wordpress
config:
webroot: wordpress
Run Code Online (Sandbox Code Playgroud)
是否缺少某些配置选项以允许 Lando 访问我机器上的另一个 URL?
有什么方法可以创建一个正确的、真正自定义的 .lando.yml 文件,这样它就不会使用任何配方?如何在 Lando 中指定“只给我 Apache、MariaDB、PHP”?
我试过这个
# The name of the app
name: mariadb
# Give me http://mariadb.lndo.site and https://mariadb.lndo.site
proxy:
html:
- mariadb.lndo.site
# Set up my services
services:
# Set up a basic webserver running the latest nginx with ssl turned on
html:
type: nginx
ssl: true
webroot: www
# Spin up a mariadb container called "database"
# NOTE: "database" is arbitrary, you could just as well call this "db" or "kanye"
database:
# Use mariadb version …Run Code Online (Sandbox Code Playgroud) 我从使用 Docksal 转移到 Acquia ADS (Lando),它自动将我的 Drush 从 8 升级到 9。我的本地站点运行良好,但我无法让 Drush 9“查看”我的 Drupal 8 站点。别名似乎已创建并添加到 drush/sites 文件夹中,并且运行 drush site:alias 确实会显示它们。但是,运行 drush status 将我的 Drupal 根显示为 /app。我的 Drupal 根目录是 /app/docroot。我的别名文件确实将此作为其根目录(对于本地)。我不确定为什么 Drush 不使用它知道的别名文件。我试过了:
冲@self(或@local)列表,我得到一些命令和最后的声明:
[注意] 未找到 Drupal 根。传递 --root 或 @siteAlias 以查看特定于 Drupal 的命令。
做 drush @local(or @self) cr 返回:
在 BootstrapHook.php 第 32 行:Bootstrap 失败。使用 -vvv 运行您的命令以获取更多信息。
使用 -vvv:
异常跟踪:在 /app/vendor/drush/drush/src/Boot/BootstrapHook.php:32 Drush\Boot\BootstrapHook->initialize() 在 /app/vendor/consolidation/annotated-command/src/Hooks/Dispatchers/ InitializeHookDispatcher.php:34 Consolidation\AnnotatedCommand\Hooks\Dispatchers\InitializeHookDispatcher->callInitializeHook() 在 /app/vendor/consolidation/annotated-command/src/Hooks/Dispatchers/InitializeHookDispatcher.php:27 Commandsolidation\Annotated\Annotated InitializeHookDispatcher->initialize() at /app/vendor/consolidation/annotated-command/src/CommandProcessor.php:145 Consolidation\AnnotatedCommand\CommandProcessor->initializeHook() at /app/vendor/consolidation/annotated-command/src/AnnotatedCommand .php:289 Consolidation\AnnotatedCommand\AnnotatedCommand->initialize() 在 /app/vendor/symfony/console/Command/Command.php:第 221 …
我已经浏览了我能找到的关于这个主题的所有帖子,但我找不到解决方案。因此,与其将头发拉得更远,我将发布一个问题。
我有一个 Lando 安装(运行 Drupal 8,但我正在测试一个简单的phpinfo()脚本),Xdebug 确认正在运行。每当我添加断点并运行脚本时,它都无法停止。
用于 Xdebug 的自定义 Lando .ini:
[PHP]
Xdebug
xdebug.max_nesting_level = 256
xdebug.show_exception_trace = 0
xdebug.collect_params = 0
; Extra custom Xdebug setting for debug to work in VSCode.
xdebug.remote_enable = 1
xdebug.remote_port = 9000
xdebug.remote_handler = "dbgp"
xdebug.remote_host = ${LANDO_HOST_IP}
xdebug.remote_connect_back = 0
xdebug.remote_mode = req
xdebug.remote_autostart = On
xdebug.remote_log = /tmp/xdebug.log
xdebug.idekey = VSCODE
max_execution_time = 0
Run Code Online (Sandbox Code Playgroud)
xdebug.log 的输出
245] Log opened at 2020-09-09 14:42:21
[245] I: Connecting to configured address/port: …Run Code Online (Sandbox Code Playgroud)