【发布时间】:2019-12-10 07:02:19
【问题描述】:
我正在尝试使用 docker-container 开发金字塔应用程序。我使用以下 docker 文件构建了一个 docker 映像。
FROM ubuntu
RUN apt-get -y update
RUN apt-get -y install python3.6 python3.6-dev libssl-dev wget git python3-pip libmysqlclient-dev
WORKDIR /application
COPY . /application
RUN pip3 install -e .
EXPOSE 6543
这是我的 docker-compose 文件
version: '3'
services:
webserver:
ports:
- 6543:6543
build:
context: .
dockerfile: Dockerfile-development
volumes:
- .:/application
command: pserve development.ini --reload
docker镜像创建成功。但是当我运行 docker-compose up 并浏览 url localhost:6543 时,它显示 该站点现在无法访问 em>。但是当我使用 pserve development.ini 在本地运行它时,它工作正常。我尝试以交互方式连接到 docker 并运行命令 pserve develpment.ini,它显示为
Starting server in PID 18.
Serving on http://localhost:6543
但是当我从 chrome 浏览 url 时它不起作用。
【问题讨论】:
-
您是否能够访问容器内的服务器,即使用
localhost:6543? -
我如何在容器中测试它。 ?
-
exec在容器中运行curl命令。检查您是否收到回复。 -
我正在运行服务器 pserve。那么,无论如何我可以在后台运行 pserve。因为只有我可以在容器控制台上运行另一个命令。 @shub
-
在
docker run命令之后,您可以使用docker ps找到正在运行的容器,然后您可以执行到它以发出其他命令,例如docker exec -it <container_name> <command_to_execute>