当我在Docker项目中运行Docker -compose up时,它失败了,并显示以下消息:

启动userland代理时错误:监听tcp 0.0.0.0:3000:绑定:地址已在使用

netstat -pna | grep 3000

显示了这个:

tcp        0      0 0.0.0.0:3000            0.0.0.0:*               LISTEN      -  

我已经试过docker-compose down了,但没用。


当前回答

我遇到了这个问题。我的简单解决方案是从系统中删除mongodb

Ubuntu中删除mongodb的命令:

sudo apt-get purge mongodb mongodb-clients mongodb-server mongodb-dev

sudo apt-get purge mongodb-10gen 

sudo apt-get autoremove

其他回答

改变network_mode:“bridge”到“host”。

这与

version: '2.2'
services:
  bind:
    image: sameersbn/bind:latest
    dns: 127.0.0.1
    ports:
      - 172.17.42.1:53:53/udp
      - 172.17.42.1:10000:10000
    volumes:
        - "/srv/docker/bind:/data"
    environment:
      - 'ROOT_PASSWORD=secret'
    network_mode: "host"

我解决了这个sudo服务redis-server停止

@DmitrySandalov的回答:我在8080上运行tomcat/java,它需要继续运行。看看船坞。Yml文件并将8080的条目更改为我选择的另一个条目。

nginx:
  build: nginx
  ports:
    #- '8080:80' <-- original entry
    - '8880:80'
    - '8443:443'

完美的工作。(唯一的问题是,如果我更新项目,更改将被删除,因为它来自外部回购。)

更改docker更新的端口比关闭其他使用端口80的服务更有意义。

我试了所有的方法,包括关闭播放功能,但都没有效果。

最后,这个简单的解决方案奏效了。 在应用程序运行定义主机为0.0.0.0和端口5000显式,并bing一切工作

app.run(debug=True,host="0.0.0.0",port=5000)

现在运行应用程序为

docker run -p 5000:5000 <Image Name>