如何在Docker Tomcat 8中更改使用者配置?


簡介

在Docker Tomcat 8容器中,您可能需要更改使用者配置以新增或修改使用者和角色。此修改對於保護對Tomcat 8例項的訪問或為不同的使用者設定不同級別的許可權等任務非常有用。

本文介紹如何在Docker Tomcat 8容器中更改使用者配置。我們介紹了修改tomcat-users.xml檔案、使用修改後的配置構建新的Docker映象以及從新映象執行Docker容器的步驟。

前提條件

在更改Docker Tomcat 8容器中的使用者配置之前,必須在您的機器上安裝Docker。Docker可以從Docker網站下載 - https://www.docker.com/get-started

安裝Docker後,您應該從Docker Hub拉取Tomcat 8 Docker映象。為此,請開啟終端視窗並執行以下命令:

$ docker pull tomcat:8 

此命令下載Tomcat 8 Docker映象並將其儲存在您的機器上。Docker映象包含Tomcat 8應用伺服器及其依賴項。

修改Tomcat 8使用者配置

要更改Docker Tomcat 8容器中的使用者配置,您必須修改tomcat-users.xml檔案。此檔案位於Tomcat 8安裝的conf目錄中,並定義允許訪問Tomcat 8例項的使用者和角色。

示例

下面顯示了tomcat-users.xml檔案的示例。

<tomcat-users>
   <user username="admin" password="password" roles="admin-gui,manager-gui"/>
   <user username="deployer" password="password" roles="manager-script"/>
   <user username="tomcat" password="password" roles="manager-gui"/>
</tomcat-users>

向此檔案中新增使用者。

<tomcat-users>
   <user username="admin" password="password" roles="admin-gui,manager-gui"/>
   <user username="deployer" password="password" roles="manager-script"/>
   <user username="tomcat" password="password" roles="manager-gui"/>
   <user username="newuser" password="newpassword" roles="manager-gui"/>
</tomcat-users>

要修改tomcat-users.xml檔案,您可以直接在主機上編輯該檔案,或者將該檔案複製到新的Docker映象中並修改副本。以下是如何執行後者:

  • 請在您的主機上建立一個新目錄,並將tomcat-users.xml檔案複製到其中。

  • 編輯tomcat-users.xml檔案以新增或修改所需的使用者和角色。

  • 在同一目錄中建立一個Dockerfile,內容如下:

#use tomcat:8 as the base image.
FROM tomcat:8

#copy the user configuration file into the container.
COPY tomcat-users.xml /usr/local/tomcat/conf/

此Dockerfile基於Tomcat 8映象建立一個新的Docker映象。現在將修改後的tomcat-users.xml檔案複製到Tomcat 8安裝的conf目錄中。

$ docker build -t my-tomcat-image . 

此命令基於當前目錄(由`.`指示)中的Dockerfile構建一個名為my-tomcat-image的新Docker映象。新映象包含修改後的tomcat-users.xml檔案。

$ docker run -d -p 8080:8080 my-tomcat-image 

此命令以分離模式(-d)啟動一個Docker容器,並將主機的埠8080對映到容器的埠8080(-p 8080:8080)。該容器基於您之前構建的my-tomcat-image映象。

驗證對使用者配置的更改

要驗證對使用者配置的更改是否已應用,您可以使用Web瀏覽器連線到Tomcat 8例項。為此,請訪問URL https://:8080(或您啟動容器時指定的埠號)。

您應該會看到Tomcat 8登入頁面。如果您在tomcat-users.xml檔案中新增或修改了使用者,則應該可以使用該使用者的憑據登入。

示例

要停止Docker容器,您可以使用docker stop命令並指定容器ID或名稱。例如:

$ docker stop my-tomcat-container 

要重新啟動容器,您可以以相同的方式使用docker start命令:

$ docker start my-tomcat-container 

其他一些方法

  • 使用環境變數設定使用者配置。在執行docker run命令時,可以使用-e標誌在容器中設定環境變數。例如,您可以設定一個名為TOMCAT_USER的環境變數,其值為要新增到tomcat-users.xml檔案的使用者。然後,您可以使用指令碼讀取環境變數並更新容器中的tomcat-users.xml檔案。

  • 使用Ansible、chef或puppet等配置管理工具來自動化更改使用者配置的過程。這些工具允許您以宣告的方式定義所需的配置,並將配置作為容器生命週期的一部分應用於容器。

  • 使用Jenkins、Travis或CircleCI等持續整合和部署工具來自動化構建和部署具有修改後的使用者配置的Docker映象的過程。這些工具允許您定義構建和部署Docker映象的流水線,並且可以由程式碼更改或其他事件觸發。

結論

本文介紹瞭如何在Docker Tomcat 8容器中更改使用者配置。我們介紹了修改tomcat-users.xml檔案、使用修改後的配置構建新的Docker映象以及從新映象執行Docker容器的步驟。我們還討論了高階主題,包括掛載卷和Docker Compose。

更改Docker Tomcat 8容器中的使用者配置是保護對Tomcat 8例項的訪問並管理不同使用者不同許可權級別的一種有效方法。按照本文的步驟,您可以輕鬆自定義使用者配置以滿足您的需求。

更新於:2023年1月30日

2K+ 瀏覽量

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.