【问题标题】:Authorization settings problems for tomcat while deploying with docker使用docker部署时tomcat的授权设置问题
【发布时间】:2015-09-07 14:53:49
【问题描述】:

我是新来的,也是 docker 和 tomcat 的新手。我正在尝试使用 docker 部署一个 Maven 项目。我设法在 docker 中为 tomcat 创建了一个映像,并从该映像创建了一个容器。 https://0.0.0.0:49153// 或 https://172.17.42.1:49153/ 给了我 apache tomcat 打开页面;但是每当我尝试进入网络管理器时;我无法使用我自己的用户名和密码登录我的本地 tomcat。

我想我需要将 tomcat-users.xml 配置添加到我的 docker 映像中,但我不知道如何为此设置用户。这是我的 dockerfile

FROM tomcat:7-jre7 MAINTAINER "rozerinaktas <rozerinaktas@gmail.com>" // there should be an add command here i think CMD sudo service tomcat7 start && tail -f /var/log/tomcat7/catalina.out

任何帮助将不胜感激。

【问题讨论】:

  • 这是(边界)题外话,它似乎更多地与应用程序服务器配置有关,而不是与编程有关;另一方面,它用于部署使用 Maven 的自构建应用程序。不过,我认为ServerFault 有更好的地方
  • 如何设置配置?
  • 如果您需要用户,请在 Dockerfile 中使用 USER 指令创建它,请参阅文档docs.docker.com/reference/builder/#userstackoverflow.com/questions/27701930/…
  • 我想要实现的是从 docker 打开 Tomcat 的 Web 管理器。我的本地 tomcat 服务器使用特定的用户名和密码,但是当我尝试使用相同的参数登录时,我不能。

标签: java maven tomcat docker


【解决方案1】:

你需要看看如何为tomcat服务器设置用户名和密码。如果有配置文件,您需要使用 -v 选项将其挂载到 docker 容器中,或者您可以通过在 Dockerfile 中指定相关的 COPY 命令将其复制到容器中。在 docker hub 上的 tomcat 服务器的官方页面上阅读相关内容。我相信他们一定提到了与设置默认用户名和密码相关的内容。

我对 MySQL 也有类似的问题。明确提到,我们可以为 MySQL 用户“root”提供默认密码,作为在docker-run 命令期间或在 Dockerfile 本身中传递的环境变量。

【讨论】:

  • 我将在 dockerfile 中的哪里复制我的 tomcat-users.xml 文件?它的路径是什么?能不能给个更详细的解释?
  • 我编辑了我的 dockerfile 并且每次我尝试运行一个新容器时都会显示; /bin/sh: 1: sudo: not found 这是我的新 dockerfile FROM tomcat:7-jre7 MAINTAINER "rozerinaktas " RUN adduser newuser RUN passwd newuser CMD sudo service tomcat7 start && tail -f /var /log/tomcat7/catalina.out
  • 你能告诉你正在运行的命令来启动容器吗?至于 sudo 部分,tomcat:7-jre7 的基础镜像可能不理解 sudo。它可能包含 linux 内核的某些部分,但不是全部。所以不要使用sudo。直接运行。
  • 你说得对,我将 sudo 包添加到 dockerfile 中并进行了一些更改,它起作用了 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-20
  • 2014-07-18
  • 1970-01-01
相关资源
最近更新 更多