我正在尝试从Dockerfile构建一个映像,以便从中启动多个容器。在Dockerfile中,我复制了我的 /etc/apt/source/sources.list ,然后使用RUN关键字执行了几个命令(apt update和apt install)。
执行docker build命令时,执行正确,我看到正在创建和删除中间容器。但在某些时候,我收到一个错误,告诉我“地址已在使用中”。
当我检查创建的最后一个中间容器时,在状态部分我得到:
状态:已创建
...
Pid:0
ExitCode:128
错误:地址已在使用
修改
Dockerfile如下所示:
FROM i386/debian AS node
COPY sources.list /etc/apt/sources.list
RUN apt-get update
RUN apt-get install -y openssh-server
RUN apt-get install -y vim gdb valdgrind
RUN apt-get-install -y python
...
我从构建命令获得的最后一个输出是:
Step 4/37 : RUN apt-get update
----> Running in ce7722ffeeb6
Address already in use
结束编辑
我不明白这个错误是什么。有人有想法吗?
我使用Docker 17.12.0在Debian 9上运行。
答案 0 :(得分:0)
这意味着您影响其中一个容器的其中一个端口当前已被另一个容器或您计算机上的其他应用程序使用。
一个很好的例子是,如果您在一个容器中运行您的应用程序,该容器具有由docker明确暴露的端口,同时从您的IDE运行它。
如果这不能解决问题,你可以粘贴我们你的dockerfile吗?