更多精彩内容请访问我的新博客站点

介绍

在一台虚拟机上创建容器时因为端口映射的问题而导致容器启动失败,并提示 docker: Error response from daemon: driver failed programming external connectivity on endpoint orderer.example.com (ae62c5d74521cc7ea21dc4d4c762cf09390839a1a21d8dcfdcb3784ecdc5e568): Bind for 0.0.0.0:7050 failed: port is already allocated.


1. 错误过程

  • 通过 docker-compose 启动一个容器是提示无法启动容器,错误原因是 Bind for 0.0.0.0:7050 failed: port is already allocated'

    $ docker-compose -f docker-compose-orderer.yaml up -d
    Creating orderer.example.com ... errorERROR: for orderer.example.com  Cannot start service orderer.example.com: b'driver failed programming external connectivity on endpoint orderer.example.com (b1253c6e3542219f989fb9f6508c738066aeeb2fcdebd1e13b9b85c63c2715dd): Bind for 0.0.0.0:7050 failed: port is already allocated'ERROR: for orderer.example.com  Cannot start service orderer.example.com: b'driver failed programming external connectivity on endpoint orderer.example.com (b1253c6e3542219f989fb9f6508c738066aeeb2fcdebd1e13b9b85c63c2715dd): Bind for 0.0.0.0:7050 failed: port is already allocated'
    ERROR: Encountered errors while bringing up the project.
    
  • 接着直接使用 docker run 命令启动容器,还是提示一样的错误。

    $ docker run --name orderer.example.com -d -p 7050:7050 hyperledger/fabric-orderer:x86_64-1.1.0
    07c97104c290f470588bf0cfe041f76771bfc8586b3ad0fe784a20f97c4e4a6f
    docker: Error response from daemon: driver failed programming external connectivity on endpoint orderer.example.com (ae62c5d74521cc7ea21dc4d4c762cf09390839a1a21d8dcfdcb3784ecdc5e568): Bind for 0.0.0.0:7050 failed: port is already allocated.
    
  • 查看主机的端口是否被占用:

    $ netstat -ntlp
    (Not all processes could be identified, non-owned process infowill not be shown, you would have to be root to see it all.)
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address        Foreign Address     State       PID/Program name
    tcp        0      0 0.0.0.0:22           0.0.0.0:*           LISTEN      -
    tcp6       0      0 :::22                :::*                LISTEN      -
    tcp6       0      0 :::2375              :::*                LISTEN      -
    

    发现并没有 7050 端口并没有在使用。

  • 启动另一个容器,绑定主机的另一个端口:

    $ docker run -d -p 8050:7050 hyperledger/fabric-orderer:x86_64-1.1.0
    fba31d37ff4cc409740ce8cd045f4f4bc6a76f7c69c454a2d7e380327613acb0
    
    $ docker ps
    CONTAINER ID        IMAGE                                     COMMAND             CREATED              STATUS              PORTS                    NAMES
    fba31d37ff4c        hyperledger/fabric-orderer:x86_64-1.1.0   "orderer"           8 seconds ago        Up 7 seconds        0.0.0.0:8050->7050/tcp   confident_wescoff
    

    可以启动。

  • 查看 docker 服务状态:

    $ systemctl status docker
    ● docker.service - Docker Application Container EngineLoaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)Drop-In: /etc/systemd/system/docker.service.d└─override.confActive: active (running) since Wed 2018-12-05 09:29:11 CST; 1h 14min agoDocs: https://docs.docker.comMain PID: 987 (dockerd)Tasks: 35Memory: 161.2MCPU: 54.874sCGroup: /system.slice/docker.service├─ 987 /usr/bin/dockerd└─1089 docker-containerd --config /var/run/docker/containerd/containerd.toml
    

    服务显示是正常运行的。


2.解决方法

网上查看了一些方法,可以通过重启 docker 服务来解决:

$ sudo systemctl restart docker

真的解决了。

$ docker run --name orderer.example.com -d -p 7050:7050 hyperledger/fabric-orderer:x86_64-1.1.0
2f289e5225344e4e07230a0985e9f51f2ef6584af263be28388bdb7f6c80af35$ docker ps
CONTAINER ID        IMAGE                                     COMMAND             CREATED             STATUS              PORTS                    NAMES
2f289e522534        hyperledger/fabric-orderer:x86_64-1.1.0   "orderer"           7 seconds ago       Up 6 seconds        0.0.0.0:7050->7050/tcp   orderer.example.com

Docker容器启动时端口映射失败相关推荐

  1. 解决docker容器启动时候无法映射端口的问题

    解决docker容器启动时候无法映射端口的问题 参考文章: (1)解决docker容器启动时候无法映射端口的问题 (2)https://www.cnblogs.com/Ivan-Wu/p/110828 ...

  2. 如何在Mysql的Docker容器启动时初始化数据库

    1.前言 Docker在开发中使用的越来越多了,最近搞了一个Spring Boot应用,为了方便部署将Mysql也放在Docker中运行.那么怎么初始化 SQL脚本以及数据呢? 我这里有两个传统方案. ...

  3. docker mysql数据库初始化_如何在Mysql的Docker容器启动时初始化数据库

    1.前言 Docker在开发中使用的越来越多了,最近搞了一个Spring Boot应用,为了方便部署将Mysql也放在Docker中运行.那么怎么初始化 SQL脚本以及数据呢? 我这里有两个传统方案. ...

  4. Docker容器启动时运行 sh 脚本

    1.docker开机运行 对于Ubuntu18.04以上的系统,如果是使用命令sudo apt-get install -y docker.io安装的docker,都可以使用下列命令设置开机启动doc ...

  5. docker 容器启动顺序_Docker容器启动时初始化Mysql数据库

    1. 前言 Docker在开发中使用的越来越多了,最近搞了一个Spring Boot应用,为了方便部署将Mysql也放在Docker中运行.那么怎么初始化 SQL脚本以及数据呢? 我这里有两个传统方案 ...

  6. 关于docker容器启动后修改或添加端口

    docker容器启动后怎么修改端口映射?在docker run创建并运行容器的时候,可以通过-p指定端口映射规则.但是,也会遇到刚开始忘记设置端口映射或者设置错了需要修改的情况.当docker sta ...

  7. docker容器启动失败(Error response from daemon: error creating overlay mount to /app/docker/overlay2/)

    docker容器启动失败 问题描述 服务器断电,异常关机,重启后,发现无法正常启动docker容器,提示错误: $ docker start mysql-server Error response f ...

  8. docker启动redis端口映射错误问题解决

    docker启动redis端口映射错误问题解决 参考文章: (1)docker启动redis端口映射错误问题解决 (2)https://www.cnblogs.com/wangxiayun/p/102 ...

  9. Docker容器启动参数大全与详细说明

    < Docker容器启动参数大全与详细说明 > 语法: docker run [OPTIONS] IMAGE [COMMAND] [ARG...] Docker 容器启动示例,这儿以启动 ...

最新文章

  1. 实战 | 多种方法实现以图搜图
  2. JavaScript中处理日期的一些函数和方法
  3. matlab 增加图像对比度_计算机视觉学习笔记6 图像直方图与直方图均衡化
  4. how to setup a Kubernetes cluster on GCP
  5. Vercel反向代理做CDN,免费给网站加速隐藏源站,可绑定域名
  6. 自动搭建openEuler虚拟机QEMU运行环境
  7. 大型情感剧集Selenium:2_options设置 #华为云·寻找黑马程序员#
  8. 动态规划经典题目_动态规划经典题目:鸡蛋掉落(附视频讲解)
  9. springmvc 需要用到的核心jar包
  10. 今日头条极速版自动脚本_开卷有益——②今日头条极速版
  11. [2018.11.03 T3] 单调序列
  12. 纬度,经度和坐标系网格
  13. 很荣幸,和各位一起创造了历史
  14. 采用MCaaS模式 SAP为有孚网络提供基于HANA的解决方案及服务
  15. 移动端 设计师设计APP UI常用软件总结
  16. jetbrain工具常见问题汇总
  17. mysql数据库中key 、primary key 、unique key 与index区别
  18. 接口隔离模式之Facade(门面模式)
  19. 欧拉角,万向节锁和四元数
  20. 原来在SOLIDWORKS中,把马鞍面填充为实体这么简单!

热门文章

  1. 基于jsp+mysql+Spring+SpringMVC+mybatis的ssm理发店会员管理系统
  2. Docker删除容器与镜像
  3. 转载:ps如何取消0.5厘米黑色箭头
  4. Word2016安装Mathtype后在选项卡显示
  5. ubuntu忘记root密码
  6. ROG Zephyrus G14(幻14)Ubuntu 20.04 双系统安装避坑指南(4800H AMD Nvidia GPU核显独显问题,快捷键Fn键盘灯驱动)
  7. 大话神武服务器维护,神武4月25日维护公告篇:谈门派技能修改
  8. 我的世界Bukkit服务器插件开发教程(八)进度条与自定义合成表
  9. 从零开始学习PS,记录小知识点(mac)持续更新中。。。
  10. pythoncsv表格对比_对比两个csv文件记录差异