小编Dra*_*sil的帖子

从 Docker 容器内部向主机系统公开 Unix 套接字

我想在侦听 Unix 套接字而不是端口的 Docker 容器中运行一个 web 服务器。我在共享 Docker 套接字方面发现了很多结果,但我认为这不是我想要的。

我希望主机系统能够连接到容器内正在侦听的 Unix 套接字。

我正在使用 docker-compose,所以通常的使用方式-v不起作用。

我的 ngix 站点配置:

server {                                                                                             
   listen 80; listen [::]:80;                                                            
    server_name foo.com www.foo.com;

    location / {                                                                         
        proxy_pass http://unix:/var/lib/docker/volumes/app_shared/_data/app.https.sock:;       
        proxy_set_header Host $http_host;                                                            
        proxy_http_version 1.1;                                                                      
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;                                 
        proxy_set_header X-Forwarded-Proto https;                                                    
    } 
Run Code Online (Sandbox Code Playgroud)

docker-compose.yml

version: '3'
services:      
  web:
    build: .
    volumes:
            - shared:/var/app
    command: "npm start"
volumes:
   shared:
Run Code Online (Sandbox Code Playgroud)

然而它说我无法连接到套接字,即使它存在于主机的这个位置。

socket docker-compose

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

标签 统计

docker-compose ×1

socket ×1