标签: docker-network

MongoDB Docker容器:错误:无法将pid文件写入/tmp/tmp.aLmNg7ilAm:设备上没有剩余空间

我像这样启动了一个MongoDB容器:

docker run -d -p 27017:27017 --net=cdt-net --name cdt-mongo mongo
Run Code Online (Sandbox Code Playgroud)

我看到我的MongoDB容器已退出:

0e35cf68a29c        mongo               "docker-entrypoint.s…"   Less than a second ago   Exited (1) 3 seconds ago                       cdt-mongo
Run Code Online (Sandbox Code Playgroud)

我检查了Docker日志,我看到:

$ docker logs 0e35cf68a29c
about to fork child process, waiting until server is ready for connections.
forked process: 21
2018-01-12T23:42:03.413+0000 I CONTROL  [main] ***** SERVER RESTARTED *****
2018-01-12T23:42:03.417+0000 I CONTROL  [main] ERROR: Cannot write pid file to /tmp/tmp.aLmNg7ilAm: No space left on device
ERROR: child process failed, exited with error number 1
Run Code Online (Sandbox Code Playgroud)

有谁知道这个错误是什么?容器中没有足够的空间?

mongodb docker docker-networking docker-container docker-network

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

如何从 Mac 访问 docker 容器 `localhost`?

请注意,这与如何公开在 docker 容器内运行的服务(绑定到 localhost )不同,后者可以在 Docker for Linux 中以多种方式解决,比如通过--net host甚至-v绑定我的 Linux 风格的客户端等。我的问题是特定的对于 Mac 版 Docker,所以事情没那么简单。

I have a TCP server binding to localhost:5005 running inside Docker for Mac. (For security reason, I must not bind to 0.0.0.0:5005.)

I have a TCP client sending request to this server from my Mac (not inside the docker container).

My question is, how do I make it work?

In Linux Docker, I would simply use --net=host so the …

macos docker docker-network

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

Rabbitmq - Docker 连接在端口 5672 上被拒绝

我有一个用 Go 编写的 Web 服务器,可以与 Rabbitmq 和 Mongodb 交互。当我在没有容器的机器上运行所有这些服务器时(rabbitmq url:),amqp://guest:guest@localhost:5672它工作正常。

现在我尝试在单独的容器中运行所有这些服务。这是我的撰写文件

version: '3'
services:
  rabbitmq:
    image: rabbitmq
    container_name: rabbitmq
    ports:
      - 5672:5672
  mongodb:
    image: mongo
    container_name: mongodb
    ports:
      - 27017:27017
  web:
    build: .
    image: palash2504/collect
    container_name: collect-server
    restart: on-failure
    ports:
      - 3000:3000
    depends_on:
      - rabbitmq
      - mongodb
    links: ["rabbitmq", "mongodb"]

networks:
  default:
    external:
      name: collect-net
Run Code Online (Sandbox Code Playgroud)

这是我的服务器 dockerfile

FROM golang

ENV GO111MODULE=on


WORKDIR /app

COPY go.mod .
COPY go.sum .

RUN go mod download

COPY . .

RUN CGO_ENABLED=0 …
Run Code Online (Sandbox Code Playgroud)

rabbitmq docker docker-compose docker-network

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

docker-compose 版本 3 的默认网络网关值

我正在Nginx使用docker-compose版本创建一个容器3.7

我正在尝试指定ipam属性。但是当我阅读以下官方参考资料时:https : //docs.docker.com/compose/compose-file/#network-configuration-reference

有一个注释,我知道gateway只能在 version 下指定2

注意:其他 IPAM 配置(例如网关)目前仅适用于版本 2。

所以我尝试不指定gatewayunderipam属性。我的容器仍然可以创建和运行。

然后我去检查docker-network设置。经过我检查和观察,没有指定gateway。但我Nginx's access.log仍然显示来自172.19.100.1我认为它是gateway.

"IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.19.100.0/24"
                }
            ]
        }
Run Code Online (Sandbox Code Playgroud)

我想知道并澄清的是,在 version 下3.7,是否有任何方法可以指定gateway内部docker-compose文件,或者如果无法指定,默认值是什么?

另外,是否应该建议docker-compose在 version 下编写2而不是在3?

gateway docker docker-compose docker-network

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

无法从 Windows 主机中的 linux docker 跟踪路由

我已经安装了 18.04 ubuntu docker 映像,并在其中安装了以下软件包:

 apt-get install traceroute
 apt-get install net-tools
 apt-get install iputils-ping
 apt-get install netbase
Run Code Online (Sandbox Code Playgroud)

但是当我使用traceroute时,docker之外的所有数据包似乎都被过滤了:

#traceroute google.com
traceroute to google.com (172.217.16.206), 30 hops max, 60 byte packets

 1  172.17.0.1 (172.17.0.1)  0.397 ms  0.309 ms  0.286 ms
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *
Run Code Online (Sandbox Code Playgroud)

有没有解决方法可以使其发挥作用?请注意,在 Windows 主机中,tracert 可以工作。

traceroute docker docker-network

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

如何配置docker以避免特定的地址或子网?

在我们的开发环境中,我们使用 docker-compose 文件管理 20 多个容器,但有时其中一个容器从我们的网络获取一个 IP,导致我们失去连接。发生这种情况时,我们手动关闭容器和网络。

当我们添加更多容器时,有没有办法配置 docker 以避免使用特定的 IP 地址或子网?

我们的 Docker 版本是:

Client: Docker Engine - Community
 Version:           19.03.12
 API version:       1.40
 Go version:        go1.13.10
 Git commit:        48a66213fe
 Built:             Mon Jun 22 15:45:36 2020
 OS/Arch:           linux/amd64
 Experimental:      false
Run Code Online (Sandbox Code Playgroud)

我们的 docker-compose 版本是:

docker-compose version 1.25.4, build 8d51620a
docker-py version: 4.1.0
CPython version: 3.7.5
OpenSSL version: OpenSSL 1.1.0l  10 Sep 2019
Run Code Online (Sandbox Code Playgroud)

主机操作系统是: Linux lin_env_int_2 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux(Ubuntu 18.04.4 LTS)

docker docker-compose docker-network

6
推荐指数
2
解决办法
7781
查看次数

Docker 网络记录传出流量?

我有一个 docker-compose 工作负载,允许发出一些外部网络请求,但不应连接到允许列表之外的域。

有没有好的办法

  1. 记录我的容器连接到哪些域
  2. 阻止不在允许列表中的域(但仍记录它们)

tcpdump 看起来可以记录我的容器尝试连接的 ipaddrs,但对于主机名而言,它依赖于不明确的反向域名查找;我们可以记录 DNS 查找吗?tcpdump 也不让我阻止非白名单域。

docker docker-compose docker-network

6
推荐指数
0
解决办法
804
查看次数

是否可以在 docker 容器内使用“externalbrowser”身份验证器与 Snowflake 进行连接身份验证?

我正在尝试在 docker 容器内使用雪花连接器。我想使用externalbrowser身份验证器,以便可以使用 Okta 凭据进行连接,但连接器失败并出现下面提到的错误。

DatabaseError: (snowflake.connector.errors.DatabaseError) 250008 (08001): None: 无法连接到 DB: xx.snowflakecomputing.com:443,无法在此环境中打开浏览器。(此错误的背景位于:http ://sqlalche.me/e/13/4xp6 )

python-webbrowser docker snowflake-cloud-data-platform docker-network

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

Docker 应用程序到主机 mysql 连接不起作用(主机操作系统和图像 = windows)

我的容器应用程序想要从主机访问 Mysql,但无法连接。我用谷歌搜索了很多并尝试了很多解决方案,但无法找出错误,你能帮我解决这个问题吗?

  1. 这是一个windows图像
  2. IIS网站正常运行
  3. 使用 DB Connection 的网站页面无法正常工作
  4. Mysql DB安装在本地机器上(安装docker桌面的同一台电脑)
  5. 应用程序中的连接字符串使用“host.docker.internal”和端口 3306。

尝试了 docker 卸载、重新安装、镜像修剪、容器修剪、WSL 停止和启动、主机文件注释以下行:

192.168.1.8 host.docker.internal
192.168.1.8 gateway.docker.internal
Run Code Online (Sandbox Code Playgroud)

以下是容器中的 ipconfig

在此输入图像描述

Nslookup 和 Ping 命令:

在此输入图像描述

网络LS:

在此输入图像描述

码头工人组成:

version: "3.9"
services:
    web:
        container_name: dinesh_server_container
        image: dinesh_server:1
        build: .
        ports:
            - "8000:80"
            - "8001:81"
        volumes:
            - .\rowowcf:c:\rowowcf
            - .\rowowcf_supportfiles:c:\rowowcf_supportfiles
            - .\rowocollectionsite:c:\rowocollectionsite
        environment:
            TZ: Asia/Calcutta
Run Code Online (Sandbox Code Playgroud)

构建映像使用:来自mcr.microsoft.com/dotnet/framework/aspnet:4.8

主机操作系统: Win 10 Pro 10.0.19043 Build 19043

HyperV也已启用。

也尝试了以下方法:

extra_hosts:
    - "host.docker.internal:host-gateway"
Run Code Online (Sandbox Code Playgroud)

由于它在 Windows 操作系统上 - 不支持主机网络模式(根据我的研究)

编辑: MYSQL 绑定地址是 0.0.0.0:在此输入图像描述

docker docker-network

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

MediaMTX RTSP 容器不代理源

请注意:即使添加了端口转发标志,此问题仍然存在,因此其他 SO 答案在这里对我没有帮助。我知道我在这里询问开源MediaMTX RTSP服务器,但我相信这本质上是一个纯粹的 Docker 问题;因此,任何具有 Docker 网络经验的人都可以回答这个问题,无论他们是否有 MediaMTX 的经验。


我这里使用的是 Mac 笔记本电脑。我通过 docker 运行 MediaMTX,如下所示:

docker run --rm -it -p 8554:8554 bluenviron/mediamtx:latest
2023/10/16 15:05:22 INF MediaMTX v1.2.0
2023/10/16 15:05:22 INF configuration loaded from /mediamtx.yml
2023/10/16 15:05:22 INF [RTSP] listener opened on :8554 (TCP), :8000 (UDP/RTP), :8001 (UDP/RTCP)
2023/10/16 15:05:22 INF [RTMP] listener opened on :1935
2023/10/16 15:05:22 INF [HLS] listener opened on :8888
2023/10/16 15:05:22 INF [WebRTC] listener opened on :8889 (HTTP)
2023/10/16 15:05:22 INF [SRT] …
Run Code Online (Sandbox Code Playgroud)

portforwarding docker docker-network

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