小编Cyr*_*lle的帖子

从 docker 容器内访问主机

我有一个 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 …

docker docker-compose

9
推荐指数
1
解决办法
1万
查看次数

无限期地循环承诺直到被拒绝

我有一个执行一些异步工作并返回 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

我找到了几个可能的答案,但似乎对我的情况没有任何作用。

如果有人有解决方案,我会很高兴,因为我找不到任何东西!

谢谢。

javascript loops promise es6-promise

2
推荐指数
1
解决办法
888
查看次数