【问题标题】:Docker running script but server doesn't workDocker 运行脚本但服务器不工作
【发布时间】:2022-11-16 09:22:47
【问题描述】:

我正在做一个加密服务,每次用户访问服务器时它都会更改密钥,问题是当我单独运行 python 文件时,就像这样 when it works

但是当我通过下面的代码对它进行码头化时

FROM python:3

RUN mkdir -p "C:\Users\joel\Desktop\mcast-freshers-week-devops-main\mcast-freshers-week-devops-main\encryption-service"

COPY requirements.txt ./
RUN pip install -r requirements.txt


COPY . .
CMD [ "python", "app.py" ]

即使是正在创建的容器,构建和运行也是成功的,甚至显示了 python 代码的输出 enter image description here

但是当我去服务器时它显示了这个 enter image description here

我尝试了一切,但我不知道该怎么做。

我尝试多次更改代码,但我仍然无法解决它,我缩小了它的范围,因为我尝试了另一个 python 应用程序并且它有效。

【问题讨论】:

  • 除非你重新配置,否则你的容器有自己的 IP 地址。它不叫“本地主机”。您需要找到它的 IP 地址。
  • 可能是网络问题。请在容器运行时提供 docker ps 的输出。
  • 您确定要将 Windows 路径放在那里吗?
  • 我怎样才能找到时间罗伯茨?
  • 您能否edit 也包含 Python 代码的问题,并进一步解释它为何不起作用?您有几个图像链接,但是如果您将它们替换为输出内容的实际文本和您收到的任何错误消息的实际文本(不是图像而不是链接),您的问题会更清楚。

标签: python docker encryption dockerfile


【解决方案1】:

当您使用 docker run 运行您的命令时,您始终可以公开 docker 容器上的内部端口以匹配您的本地主机网络端口,请改用此命令来运行您的 docker 容器

docker run -it --rm -p 8080:8080 --name my-running-app my-python-app

然后,您可以通过访问 localhost:8080 来访问您的服务器

【讨论】:

  • 当我尝试它时它说 docker run 需要至少 1 个参数这是我的代码 docker run -it --rm --name python-app -p 8080:8080
  • 您没有在命令中指定 docker 图像,根据您提供的屏幕截图,您应该运行 docker run -it --rm -p 8080:8080 --name python-app my-python-app
  • 非常感谢,另一个问题是我可以在 dockerfile 中设置链接还是必须始终在终端中输入它
  • 是的,您可以将此行直接添加到您的 dockerfile (EXPOSE 8080),这将默认公开端口。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-26
  • 2021-01-04
  • 2018-03-01
  • 2020-01-01
相关资源
最近更新 更多