我有一个 dockerized 应用程序,我使用以下 docker-compose.yml 来运行它:
version: '3.1'
services:
db:
image: mysql:5.7
ports:
- "3306:3306"
env_file:
- ./docker/db/.env
volumes:
- ./docker/db/data:/var/lib/mysql:rw
- ./docker/db/config:/etc/mysql/conf.d
command: mysqld --sql_mode="NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
php:
build: ./docker/php/7.4/
volumes:
- ./docker/php/app.ini:/usr/local/etc/php/conf.d/docker-php-ext-app.ini:ro
- ./docker/logs/app:/var/www/app/var/log:cached
- .:/var/www/app:cached
working_dir: /var/www/app
links:
- db
env_file:
- ./docker/php/.env
webserver:
image: nginx:1
depends_on:
- php
volumes:
- ./docker/webserver/app.conf:/etc/nginx/conf.d/default.conf:ro
- ./docker/logs/webserver/:/var/log/nginx:cached
- .:/var/www/app:ro
ports:
- "80:80"
Run Code Online (Sandbox Code Playgroud)
我的机器上运行着一台未 dockerized 的服务器,我可以通过localhost:3000. 我希望我的php服务能够访问它。
我发现有人建议将以下内容添加到我的php服务配置中:
extra_hosts:
- "host.docker.internal:host-gateway"
Run Code Online (Sandbox Code Playgroud)
但是当我添加这个,然后docker-compose up -d尝试docker exec …
我有一个执行一些异步工作并返回 a 的函数,Promise我想无限期地执行这个函数,直到rejected承诺。
类似于以下内容:
doSomethingAsync().
.then(doSomethingAsync)
.then(doSomethingAsync)
.then(doSomethingAsync)
// ... until rejection
Run Code Online (Sandbox Code Playgroud)
我做了一个 CodePen,所以我可以测试潜在的解决方案:http ://codepen.io/JesmoDrazik/pen/pbAovZ?editors=0011
我找到了几个可能的答案,但似乎对我的情况没有任何作用。
如果有人有解决方案,我会很高兴,因为我找不到任何东西!
谢谢。