我正在尝试设置两台机器,以便一台托管数据库,另一台接收更新。如果我在 PC 上运行更新机器,那么一切正常(在 PC 上,更新程序的配置与机器上的完全相同),但只要我在第二台机器上运行它:
{
"level": "error",
"error": "Get http://IP/client/config: dial tcp IP:80: i/o timeout",
"time": "2019-12-06T09:16:15Z",
"message": "failed to fetch config"
}
以下是更新程序上的 docker-compose 设置:
version: '3'
services:
onlineconf-updater:
build: .
image: onlineconf-updater
volumes:
- ./data:/usr/local/etc/onlineconf
environment:
ONLINECONF_ADMIN_HOST: IP
ONLINECONF_ADMIN_PORT: 80
ONLINECONF_UPDATER_USER: gopher
ONLINECONF_UPDATER_PASSWORD: gopher
restart: always
行政:
version: '3'
services:
onlineconf-admin:
build: .
image: onlineconf-admin
depends_on:
- onlineconf-database
ports:
- "80:80"
- "443:80"
environment:
ONLINECONF_DATABASE_HOST: onlineconf-database
ONLINECONF_DATABASE_BASE: onlineconf
ONLINECONF_DATABASE_USER: onlineconf
ONLINECONF_DATABASE_PASSWORD: onlineconf
restart: always
onlineconf-database:
image: mysql:5.7
volumes:
- data:/var/lib/mysql
- ./etc/charset.cnf:/etc/mysql/conf.d/charset.cnf
- ./etc/schema.sql:/docker-entrypoint-initdb.d/1-schema.sql
- ./etc/notification.sql:/docker-entrypoint-initdb.d/2-notification.sql
- ./etc/auth.sql:/docker-entrypoint-initdb.d/3-auth.sql
- ./etc/example.sql:/docker-entrypoint-initdb.d/4-example.sql
environment:
MYSQL_RANDOM_ROOT_PASSWORD: 1
MYSQL_DATABASE: onlineconf
MYSQL_USER: onlineconf
MYSQL_PASSWORD: onlineconf
volumes:
data: {}
您需要创建一个 docker 网络,然后将您的容器附加到该网络: