k0p*_*kus 5 ubuntu docker docker-compose
我正在使用 docker@19.03.2 build 6a30dfc) 和 docker-compose@1.19.0, build 9e633ef。
给定一个docker-compose.yml(过去很长时间工作正常并且自 2019 年 4 月以来没有变化)文件,该文件只启动一个 mariadb 容器,并且应该向主机公开 mysql 端口:
pe-db:
image: mariadb:10.3
ports:
- 3306:3306
environment:
MYSQL_DATABASE: dev_db
MYSQL_PASSWORD: password
MYSQL_USER: dev
MYSQL_ROOT_PASSWORD: root_password
Run Code Online (Sandbox Code Playgroud)
然而在运行时:
docker-compose up
Run Code Online (Sandbox Code Playgroud)
我收到错误消息:
Recreating fcac8d931b6a_ratepipeline_pe-db_1 ... error
ERROR: for fcac8d931b6a_ratepipeline_pe-db_1 Cannot start service pe-db: driver failed programming external connectivity on endpoint ratepipeline_pe-db_1 (6e649313e4cccd484d0672183cd24daf21c5e8ad3dc1e01fda57d0c942194b6d): Bind for 0.0.0.0:3306 failed: port is already allocated
ERROR: for pe-db Cannot start service pe-db: driver failed programming external connectivity on endpoint ratepipeline_pe-db_1 (6e649313e4cccd484d0672183cd24daf21c5e8ad3dc1e01fda57d0c942194b6d): Bind for 0.0.0.0:3306 failed: port is already allocated
ERROR: Encountered errors while bringing up the project.
Run Code Online (Sandbox Code Playgroud)
通过以下方式检查端口3306上运行的内容时:
sudo netstat -nlp | grep 3306
tcp6 0 0 :::3306 :::* LISTEN 3042/docker-proxy
Run Code Online (Sandbox Code Playgroud)
我看到了码头代理。本地没有其他 mysql 数据库在运行。我可以杀死docker-proxy通过:
sudo killall docker-proxy
sudo netstat -nlp | grep 3306
Run Code Online (Sandbox Code Playgroud)
然后我在 port 上看不到任何东西在运行3306。然而docker-compose up会再次遇到同样的错误,声称端口已经在使用中,即使netstat不会在端口上显示任何用户。
我还尝试通过以下方式重新启动 docker 守护进程
sudo service docker restart
Run Code Online (Sandbox Code Playgroud)
并重新启动我的系统。问题仍然存在。
我该如何解决这个问题?
就我而言,我确实运行了一个 mysql 容器。它不会显示在 netstat 上,但我可以通过
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b59b7973d88b mysql:5.7 "docker-entrypoint.s…" 10 days ago Up 8 seconds 0.0.0.0:3306->3306/tcp, 33060/tcp squbsstub_db_1
Run Code Online (Sandbox Code Playgroud)
然后我可以通过它的 杀死那个容器CONTAINER ID,在这种情况下:
docker kill b59b7973d88b
Run Code Online (Sandbox Code Playgroud)
然后我以前的 docker-compose 项目就会正常运行。
| 归档时间: |
|
| 查看次数: |
6142 次 |
| 最近记录: |