相关疑难解决方法(0)

从Docker容器内部,如何连接到本机的本地主机?

所以我在Docker容器中运行了一个Nginx,我在localhost上运行了一个mysql,我想从我的Nginx中连接到MySql.MySql在localhost上运行,而不是将端口暴露给外部世界,所以它绑定在localhost上,而不是绑定在机器的ip地址上.

有没有办法从这个docker容器中连接到这个MySql或localhost上的任何其他程序?

reverse-proxy nginx docker docker-networking

1176
推荐指数
24
解决办法
65万
查看次数

从Docker容器访问主机作为localhost,该容器也位于boot2docker vm中

假设我在OSX上的端口8000上运行了一个服务器.我的Docker容器如何通过它访问它localhost:8000?我也无法更改主机名,因为容器中的应用程序不在我的控制范围内.

我已经阅读了之前关于使用--net="host"容器访问主机网络的讨论.但是,我在OSX和Docker在VM中运行,所以来自Docker容器的localhost--net="host"转到VM而不是我的真机.

然后我尝试了端口转发解决方法:VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port8000,tcp,,8000,,8000";无济于事.

任何建议将不胜感激.

docker boot2docker

35
推荐指数
3
解决办法
3万
查看次数

从主机连接到docker容器中的postgres

如何从主机连接到docker中的postgres?

泊坞窗,compose.yml

version: '2'

networks:
    database:
        driver: bridge
services:
    app:
        build:
            context: .
            dockerfile: Application.Dockerfile
        env_file:
            - docker/Application/env_files/main.env
        ports:
            - "8060:80"
        networks:
           - database
        depends_on:
            - appdb

    appdb:
        image: postdock/postgres:1.9-postgres-extended95-repmgr32
        environment:
            POSTGRES_PASSWORD: app_pass
            POSTGRES_USER: www-data
            POSTGRES_DB: app_db
            CLUSTER_NODE_NETWORK_NAME: appdb
            NODE_ID: 1
            NODE_NAME: node1
        ports:
            - "5432:5432"
        networks:
            database:
                aliases:
                    - database
Run Code Online (Sandbox Code Playgroud)

docker-compose ps

           Name                          Command               State               Ports
-----------------------------------------------------------------------------------------------------
appname_app_1     /bin/sh -c /app/start.sh         Up      0.0.0.0:8060->80/tcp
appname_appdb_1   docker-entrypoint.sh /usr/ ...   Up      22/tcp, 0.0.0.0:5432->5432/tcp
Run Code Online (Sandbox Code Playgroud)

从容器我可以成功连接.来自app容器和db容器.

在容器内运行psql的dbs和用户列表:

# psql -U postgres
psql (9.5.13)
Type …
Run Code Online (Sandbox Code Playgroud)

postgresql docker docker-compose

11
推荐指数
2
解决办法
6185
查看次数

DBeaver / PostgresSQL 无法连接到远程 docker 容器

我正在尝试通过 DBeaver 访问 postgresql docker 容器,但我不知道如何使其工作。

运行docker port db_1返回:

5432/tcp -> 0.0.0.0:5432
Run Code Online (Sandbox Code Playgroud)

所以端口应该对连接开放。

postgresql.conf设置为

listen_addresses = '*'
Run Code Online (Sandbox Code Playgroud)

运行docker inspect --format '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' db_1返回

172.19.0.2
Run Code Online (Sandbox Code Playgroud)

当试图连接到数据库,要么localhost/ 127.0.0.1/ 172.19.0.2/db_1该Dbeaver日志返回此:

2019-03-18 17:22:03.000 - Connect with 'jdbc:postgresql://db_1:5432/test' (postgres-jdbc-169919c23d5-77ac021a71307fee)
....
2019-03-18 17:22:14.815 - SSH INFO: SSH_MSG_SERVICE_ACCEPT received
2019-03-18 17:22:14.824 - SSH INFO: Authentications that can continue: password,keyboard-interactive
2019-03-18 17:22:14.825 - SSH INFO: Next authentication method: password
2019-03-18 17:22:18.432 - SSH INFO: Authentication succeeded …
Run Code Online (Sandbox Code Playgroud)

database linux postgresql jdbc docker

6
推荐指数
1
解决办法
3861
查看次数