相关疑难解决方法(0)

使用Docker Compose运行时的端口发布

我似乎无法找到一种方法让端口发布以docker-compose run尽可能相同的方式工作docker run.

使用Docker Compose(以及端口映射docker-compose.yml)会产生"连接失败"错误curl:

$ docker-compose run flask
 * Running on http://0.0.0.0:2048/ (Press CTRL+C to quit)

$ curl http://localhost:2048/
curl: (7) Failed connect to localhost:2048; Connection refused
Run Code Online (Sandbox Code Playgroud)

但是,手动将端口传递到时,一切正常docker run:

$ docker run -p 2048:2048 --name flask -t flask_image
 * Running on http://0.0.0.0:2048/ (Press CTRL+C to quit)

$ curl http://localhost:2048
Hello World!
Run Code Online (Sandbox Code Playgroud)

我错过了什么?


Dockerfile

FROM centos:7

# Install EPEL repo.
RUN rpm -iUvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

# Install Python and Pip.
RUN …
Run Code Online (Sandbox Code Playgroud)

port docker docker-compose

24
推荐指数
2
解决办法
3万
查看次数

mysql客户端调用docker-compose run vs.docker-compose exec

为什么使用进行呼叫时需要指定主机docker-compose run

例如

docker-compose run db_container mysql -uuser -ppass db_name -h db_container

似乎直接等同于

docker-compose exec db_container mysql -uuser -ppass db_name

当从第一个示例中省略主机名标志时,mysql失败,并显示“无法连接到套接字”错误。

这两个例子有什么区别?

mysql docker docker-compose

4
推荐指数
1
解决办法
1068
查看次数

标签 统计

docker ×2

docker-compose ×2

mysql ×1

port ×1