首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >由于后port端口问题,连接到码头容器失败

由于后port端口问题,连接到码头容器失败
EN

Stack Overflow用户
提问于 2017-06-22 20:10:28
回答 1查看 183关注 0票数 1

我的停靠容器能够成功构建,但当我输入命令docker-compose build时,将返回以下错误:

代码语言:javascript
复制
Starting docker_etl_1 ... 
Starting 1e5f56853e10_1e5f56853e10_1e5f56853e10_docker_postgis_1 ... 
Starting 1e5f56853e10_1e5f56853e10_1e5f56853e10_docker_postgis_1
Starting 1e5f56853e10_1e5f56853e10_1e5f56853e10_docker_postgis_1 ... error

ERROR: for 1e5f56853e10_1e5f56853e10_1e5f56853e10_docker_postgis_1  Cannot start service postgis: driver failed programming external connectivity on endpoint 1e5f56853e10_1e5f56853e10_1e5f56853e10_docker_postgis_1 (91464afbee8bf7212061797ec0f4c017a56cc3c30c9bdaf513127a6e6a4a5a52): Error starting userland prStarting docker_etl_1 ... done

ERROR: for postgis  Cannot start service postgis: driver failed programming external connectivity on endpoint 1e5f56853e10_1e5f56853e10_1e5f56853e10_docker_postgis_1 (91464afbee8bf7212061797ec0f4c017a56cc3c30c9bdaf513127a6e6a4a5a52): Error starting userland proxy: Bind for 0.0.0.0:5432 failed: port is already allocated

这是我的船坞-合成人。

代码语言:javascript
复制
version: '2'
services:
  postgis:
    build: ./postgis
    volumes:
      - ../src/main/sql:/sql
    ports:
      - "5432:5432"

  etl:
    build: ./etl
    volumes:
      - ..:/national-voter-file
    entrypoint:
      - python3
      - /national-voter-file/load/loader.py

下面是Dockerfile:

代码语言:javascript
复制
FROM mdillon/postgis:9.5

ENV POSTGRES_DB VOTER

RUN  mkdir /sql
COPY ./dockerResources/z-init-db.sh /docker-entrypoint-initdb.d/

EXPOSE 5432

Docker ps -a返回:

代码语言:javascript
复制
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS                          PORTS               NAMES
da74ad97b95c        docker_postgis      "docker-entrypoint..."   About a minute ago   Created                                             docker_postgis_1
5872c6e55fe2        docker_etl          "python3 /national..."   About a minute ago   Exited (2) About a minute ago                       docker_etl_1

但是,当我尝试rm $(docker ps -qa)时,我会得到以下错误:

代码语言:javascript
复制
rm: da74ad97b95c: No such file or directory
rm: 5872c6e55fe2: No such file or directory

我不相信我有另一个正在运行的容器,所以我对消息Bind for 0.0.0.0:5432 failed: port is already allocated感到困惑

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-23 00:44:53

您是否有可能在之前运行相同的坞-撰写程序,这可能是失败的,或者至少没有清理服务?尝试运行docker ps -a以检查是否存在已停止的容器。有可能是被拦截的集装箱占据了港口。如果是这样的话,只需使用docker rm $(docker ps -qa)清除它们

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44708538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档