---
schema_version: "1"
id: a7dccc3e77ab67251b544047e98e9296b544eb0db5640f78d7c40d6eeb39546e
title: 為容器安裝針對 Linux 的 Bridge
collection: tableau
version: current
locale: zh-tw
portal_url: https://docs.salesforce.com/tableau/current/zh-tw/online/to_bridge_linux_install.md
canonical_url: https://help.tableau.com/current/online/zh-tw/to_bridge_linux_install.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 380b9d5490dfe90dee1277097e334347ab804aa04fde5e99380c18764032b56f
description: Install Tableau Bridge for Linux in a Docker container.
---
[跳至主要內容](#main-content)

# 為容器安裝針對 Linux 的 Bridge

針對 Linux 的 Bridge 可提供容器化工作負載的可擴充性和簡化的管理功能。以下說明描述了執行針對 Linux 的 Bridge 的輕量級方法，並假設您具有對 Docker 以及生態系統中使用的關鍵術語的基本知識。

## 從 Docker 容器安裝並執行 Bridge

要在 Linux 上使用 Bridge，必須建立自訂 Docker 映像，安裝 RPM 套件，然後從容器映像內部執行 Bridge。

安裝說明：

- 可以在一台電腦上部署多個 Linux 容器上的 Bridge。
- 不支援具有動態 IP 的無伺服器解決方案。
- 不支援 Bridge 舊版排程。有關詳細資訊，請參閱[從 Bridge（舊版）移轉到線上排程](https://help.tableau.com/current/online/zh-tw/to_sync_schedule.htm)。

### 必要條件

- 已安裝 Docker 引擎。對於 docker 容器的基礎映像，Linux 上的 Bridge 支援：
    
    - Amazon Linux 2023
    - Red Hat Enterprise Linux 8
    - Red Hat Enterpirse Linux 9
    
    **附註**：不支援 CentOS。
- 在 Tableau 網站的[下載](https://www.tableau.com/zh-tw/support/releases/bridge)頁面中的最新 Tableau Bridge RPM 套件。
- 具有 Linux 作業系統經驗。
- 基本的 shell 指令碼編寫。
- Docker 經驗。
- Tableau 站台管理員 [個人存取權杖](https://help.tableau.com/current/online/zh-tw/security_personal_access_tokens.htm) （PAT） 或[統一存取權杖](https://help.tableau.com/current/api/cloud-manager/zh-tw/docs/unified_access_tokens.html) （UAT）。必須為每個 Bridge 用戶端使用專用的 PAT 或 UAT 權杖。Tableau 支援每個使用者 104 個 PAT 權杖。
- 如果您的 Bridge 主機將連線到遠端共用，則需要在 Docker 檔案中為 UNC 對應建立一個部分。參閱[連線至一般檔案和基於檔案的擷取](https://help.tableau.com/current/online/zh-tw/to_sync_local_data.htm#remote-share)。
- 針對 Linux 的 Bridge 不支援 Bridge（舊版排程）。請參閱[從 Bridge（舊版）移轉到線上排程](https://help.tableau.com/current/online/zh-tw/%3Chttps://help.tableau.com/current/online/zh-tw/to_sync_schedule.htm#Migrate from Bridge \(legacy\) to Online schedules>)。

### 第 1 步：建立 Bridge 容器映像

以下步驟是在 Linux 基礎映像上建置 Bridge 的基本說明。有關詳情，請參閱[Docker 概觀](https://docs.docker.com/get-started/overview/)。[](https://docs.docker.com/get-started/overview/)

安裝 Docker 後，唯一有權執行命令的使用者是 root。可以使用 `sudo` 或由為 Docker 群組成員的使用者執行 Docker 命令。

**重要提示**，基礎映像會根據不同的驅動程式和平台而有所不同。以下範例旨在說明建構基礎映像的過程。必須使建構過程適應特定環境。

1. 從 Tableau 站台的[下載](https://www.tableau.com/zh-tw/support/releases/bridge)頁面下載 `.rpm` 程式包。
2. （可選）可以編輯設定，以變更用戶端的執行方式。有關詳細資訊，請參閱[《變更 Bridge 用戶端設定》](https://help.tableau.com/current/online/zh-tw/to_sync_change_computer_site.htm)。
3. 建立工作目錄，並將 `.rpm` 套件移動到該目錄中。
    
    `cd ~`
    
    `$ mkdir Docker`
    
    `$ cd Docker`
    
    `$ mv <RPM_location>.rpm .`
4. 在該工作目錄中建立 Docker 檔案。例如：
    
    `$ touch Dockerfile`
5. 編輯 Docker 檔案並新增要執行 `yum update.` 的命令
    
    **Red Hat 範例**
    
    如果是 Red Hat 8：
    
    `FROM registry.access.redhat.com/ubi8/ubi:latest`
    
    `RUN yum -y update`
6. 編輯 Docker 檔案，然後輸入以下命令，以從映像中複製、安裝和移除 Bridge RPM 套件：
    
    - **選項 1**：使用 `--mount`，例如：
        
        FROM registry.access.redhat.com/ubi8/ubi:latest
        RUN --mount=type=bind,source=<your\_bridge\_rpm>.rpm,target=/tmp/bridge.rpm \\
         set -eux; \\
         yum -y update; \\
         ACCEPT\_EULA=y yum install -y /tmp/bridge.rpm; \\
         yum -y clean all; \\
         rm -rf /var/cache/yum
    - **選項 2**：直接下載 rpm，例如：
        
        FROM registry.access.redhat.com/ubi8/ubi:latest
        RUN set -eux; \\
         yum -y update; \\
         curl -fsSL https://repo.example.com/bridge.rpm -o /tmp/bridge.rpm; \\
         ACCEPT\_EULA=y yum install -y /tmp/bridge.rpm; \\
         rm -f /tmp/bridge.rpm; \\
         yum -y clean all; \\
         rm -rf /var/cache/yum
7. 使用 `docker` build 命令建置新的容器映像。
    
    例如，以下命令會在目前資料夾中建置一個映像，並用單字 `​"bridge_base"` 對其進行標記。
    
    `docker buildx build --platform=linux/amd64 -t bridge_base .`
8. 檢查建立的基礎映像是否在映像清單中顯示：
    
    `docker images | grep bridge`

### 第 2 步：安裝驅動程式

Bridge 用戶端需要驅動程式來促進私人網路資料和 Tableau Cloud 之間的連線。對於驅動程式，請前往[驅動程式下載](https://www.tableau.com/zh-tw/support/drivers)，選取資料來源，然後對於作業系統選取 Linux 。

1. 可以在啟動基礎映像後以互動方式完成安裝，也可以將單獨的 Dockerfile 寫入為基礎映像之上的一個層。
    
    **範例**
    
    將 MySQL 驅動程式 RPM 複製到目錄後，可以使用下列 Dockerfile 建立一個單獨的工作目錄來分層 MySQL 驅動程式：
    
    `# Using previously built bridge_base image`
    
    `FROM bridge_base`
    
    `COPY mysql-connector-odbc-8.0.26-1.el8.x86_64.rpm`
    
    `RUN yum install -y mysql-connector-odbc-8.0.26-1.el8.x86_64.rpm`
    
    **附註：**MySQL 和 Amazon Aurora MySQL 驅動程式需要設定地區設定並在映像中安裝語言套件：  
    範例：  
    `RUN yum install -y glibc-langpack-en`  
    `ENV LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8`
    
    **範例**
    
    安裝 postgres JDBC 驅動程式。這也可以在單獨的 Dockerfile 中完成。
    
    `# Using previously built bridge_base image`
    
    `FROM bridge_base`
    
    `COPY postgresql-42.3.3.jar /opt/tableau/tableau_driver/jdbc/`
    
    **範例**
    
    安裝 Amazon Redshift 驅動程式。
    
    `# Using previously built bridge_base image`
    
    `FROM bridge_base`
    
    `yum install -y unixODBC`
    
    `yum --nogpgcheck localinstall -y`
    
    `AmazonRedshiftODBC-64-bit-2.1.7.0.x86_64.rpm`
    
    `odbcinst -i -d -f /opt/amazon/redshiftodbcx64/odbcinst.ini`
2. 建立新映像：

`docker image build -t bridge_final .`

`bridge_final` 映像使用上一個步驟中的快取映像，並自動為所有 Bridge 執行個體安裝驅動程式。若您有映像存放庫，則可以將映像發佈到存放庫，並將映像分發到要執行 Bridge 的所有電腦。

### 第 3 步：安裝語言套件並在 Docker 中設定地區設定

1. 在 Docker 容器中安裝語言套件：
    
    `RUN yum install -y glibc-langpack-en`
2. 使用 `ENV LC_ALL en_US.UTF-8` 在 Docker 中設定地區設定。也可以將以下內容新增至 `/etc/profile` 檔案來設定地區:
    
    `export LANG="en_US.utf8"`
    
    `export LANGUAGE="en_US.utf8"`
    
    `export LC_ALL="en_US.utf8"`

### 第 4 步：執行 Bridge 容器

現在已建置基礎映像，可以使用多種方法進行部署。基本步驟是：

1. 建立權杖
2. 啟動 Bridge 容器的執行個體。
3. 將代理程式指派到集區。

#### 建立權杖

在開始部署容器之前，請建立[個人存取權杖](https://help.tableau.com/current/online/zh-tw/security_personal_access_tokens.htm) (PAT) 或 [統一存取權杖](https://help.tableau.com/current/api/cloud-manager/zh-tw/docs/unified_access_tokens.html) (UAT)。登入代理程式需要 PAT 或 UAT。

**注意事項和要求**：

- Tableau Cloud 支援每個使用者 104 個 PAT。Tableau 建議您為每個用戶端使用一個 PAT 或 UAT。
- 下列權杖名稱必須符合：`patTokenId` 或 `jwTokenFile`（執行 `run-bridge.sh` 命令時使用）、JSON 檔案中的權杖名稱以及產生權杖時指定的權杖名稱。
- 若使用 UAT，則必須包含所需的 OAuth 範圍：`"tableau:remote_agents:*"`、`"tableau: jobs:read"`、`"tableau:file_uploads:*"`、`"tableau:datasources:*"`

#### 啟動執行個體

此程序中的互動式方法描述了啟動背景工作所需的步驟。結束時，容器會停止執行。

- 執行此命令，以 `root` 身分移動到容器的 shell 提示符：
    
    `docker container run -it bridge_final /bin/bash`

其餘命令在容器的此互動式工作階段的內容中執行。

1. 在使用 JSON 格式的一般檔案中新增 PAT 或 UAT。例如：`/home/jSmith/Documents/MyTokenFile.txt`
2. 權杖語法範例：
    
    `{"MyToken" : "uLICC7e8SUS8ZNGe8RIFn4u==:lRihmYHI0XBKle7e8S4uSORXGqAkAl4"}`
3. 變更檔案權限，以限制目前使用者的存取。例如：`chmod 600 MyTokenFile.txt`
4. 執行 `run-bridge.sh` 命令，啟動 Bridge 容器的執行個體。該過程因使用的權杖類型而異：
    
    **PAT 命令範例**
    
    /opt/tableau/tableau\_bridge/bin/run-bridge.sh -e --patTokenId="Mytoken" --userEmail="admin@tableau.com" --client="myBridgeAgent" --site="mySite" --patTokenFile="/home/jSmith/Documents/MyTokenFile.txt" --poolId="1091bfe4-604d-402a-b41c-29ae4b85ec94"
    
    **UAT 命令範例**
    
    /opt/tableau/tableau\_bridge/bin/run-bridge.sh -e --userEmail="admin@tableau.com" --client="myBridgeAgent" --site="mySite" --jwTokenFile="jwTokenFile.txt" --poolId="1091bfe4-604d-402a-b41c-29ae4b85ec94"
    
    run-bridge.sh 參數
    
    <table style="border-left-style: solid;border-left-width: 1px;border-left-color: #bbb;border-right-style: solid;border-right-width: 1px;border-right-color: #bbb;border-top-style: solid;border-top-width: 1px;border-top-color: #bbb;border-bottom-style: solid;border-bottom-width: 1px;border-bottom-color: #bbb;" class="simple-table"><colgroup><col style="width: 129px;"><col></colgroup><tbody><tr><th colspan="2"><strong>全局參數</strong></th></tr><tr><td><code>--client</code></td><td>（必要）要為背景工作指定的名稱。</td></tr><tr><td><code>--site</code></td><td>（必要）URI 中顯示的站台名稱。不要包含 URI 路徑。</td></tr><tr><td><code>--userEmail</code></td><td>（必要）與該權杖關聯的使用者電子郵件。</td></tr><tr><td><code>-e</code></td><td>（可選）預設情況下，Bridge 用戶端工作背景工作會作為後台服務執行。要在前台執行背景工作，請包含 -e 參數。</td></tr><tr><td><code>--poolId</code></td><td>（可選）指派給用戶端的集區 ID。請參閱<a href="#UsingPoolID" class="xref">使用集區識別碼</a>。</td></tr></tbody></table>
    
    <table style="border-left-style: solid;border-left-width: 1px;border-left-color: #bbb;border-right-style: solid;border-right-width: 1px;border-right-color: #bbb;border-top-style: solid;border-top-width: 1px;border-top-color: #bbb;border-bottom-style: solid;border-bottom-width: 1px;border-bottom-color: #bbb;" class="simple-table"><colgroup><col style="width: 129px;"><col></colgroup><tbody><tr><th colspan="2"><strong>PAT：必要參數</strong></th></tr><tr><td><code>--patTokenId</code></td><td>PAT 的 ID。有關詳細資訊，請參閱<a href="https://help.tableau.com/current/online/zh-tw/security_personal_access_tokens.htm">個人存取權杖</a>。</td></tr><tr><td><code>--patTokenFile</code></td><td>PAT 文字檔案的檔案名稱和路徑。</td></tr></tbody></table>
    
    <table style="border-left-style: solid;border-left-width: 1px;border-left-color: #bbb;border-right-style: solid;border-right-width: 1px;border-right-color: #bbb;border-top-style: solid;border-top-width: 1px;border-top-color: #bbb;border-bottom-style: solid;border-bottom-width: 1px;border-bottom-color: #bbb;" class="simple-table"><colgroup><col style="width: 129px;"><col></colgroup><tbody><tr><th colspan="2"><strong>UAT：必要參數</strong></th></tr><tr><td><code>--jwTokenFile</code></td><td>UAT 文字檔案的檔案名稱和路徑。</td></tr></tbody></table>

**附註**：如果要安裝舊版的 Bridge for Linux，則必須執行不同的指令來啟動工作電腦。如果是 2024.2 及更早版本，請使用命令 `TabBridgeClientWorker` （不是 `run-bridge.sh` 命令）啟動工作電腦。所有命令選項都相同。

**代理程式已啟動**

以下訊息表示代理程式已啟動。`“Service started: ...”`

**停止背景工作**

使用 `Control-C` 停止背景工作。可以為容器映像啟動一個新的背景工作，而不是重新啟動背景工作。

#### 預設集區指派

若沒有使用命令選項 `--poolId` 指派集區，則用戶端將會指派到預設集區。若想要將用戶端用於特定網域或 VConns，可以使用 UI 將用戶端指派到已命名集區。Tableau Cloud 首頁 > 設定 > Bridge 上針對上述功能的功能表。有關詳情，請參閱[設定 Bridge 用戶端集區](https://help.tableau.com/current/online/zh-tw/to_enable_bridge_live_connections.htm)。

#### 使用集區識別碼

使用 `run-bridge.sh` 命令啟動 Bridge 工作電腦後，`poolId` 為可選。但是，用戶端的行為取決於用戶端是否註冊到站台以及用戶端是否指派到集區。Tableau Bridge 在任何給定時間只能連線或註冊到一個 Tableau Cloud 站台。登出並重新登入時，用戶端將註冊到站台。

**如果未提供集區識別碼**

- 如果Bridge用戶端已經註冊，則用戶端狀態保持不變：
    - 如果用戶端已指派給某個集區，則它仍然指派給該集區，無論它是命名集區還是預設集區。
    - 如果用戶端未指派到集區，它將保持未指派狀態。
- 如果 Bridge 用戶端是新的（您從未登入 Tableau Cloud），則該用戶端將會指派到預設集區。

**如果提供集區識別碼**

- 如果提供了集區識別碼並且正確，則將 Bridge 用戶端指派給指定集區。
- 如果提供的集區識別碼不正確：
    - 如果 Bridge 用戶端未註冊，則會將用戶端指派到預設集區。
    - 如果 Bridge 用戶端已註冊，則用戶端狀態保持不變，無論命名集區、預設集區或未指派。

#### 尋找集區 ID

若要尋找集區 ID，請前往設定 > Bridge 頁面，然後按一下集區的名稱。例如：

![](/tableau/current/zh-tw/online/zh-tw/Img/bridge_pool_id.png)

## 升級適用於 Linux 的 Bridge 用戶端

與最新版本 Bridge 保持同步，確保可以利用每個新版本的 Bridge 用戶端隨附的最新功能與修正項目。

無法對容器執行就地升級。相反，必須使用最新的 Bridge 二進位檔案建置新的容器映像，然後將 Bridge 用戶端與以前的版本並排新增到集區中。驗證功能後，再移除以前的 Bridge 用戶端。請按以下步驟操作：

1. 請按照上面各部分所述安裝並設定新的 Tableau Bridge 用戶端。
2. 將新的 Bridge 用戶端新增至相關集區中。請參閱[設定集區](https://help.tableau.com/current/online/zh-tw/to_enable_bridge_live_connections.htm)
3. 繼續下一步前，監視 Bridge 作業的運作狀況以驗證穩定性。
4. 從集區中移除先前的 Bridge 用戶端。開啟集區，找到要移除的用戶端電腦，然後按一下**「刪除」**。
5. 等待 Bridge 用戶端上的資料擷取重新整理逾時程序完成。預設逾時為 24 小時。有關詳情，請參閱 [dataSourceRefreshSettings](https://help.tableau.com/current/online/zh-tw/to_sync_change_computer_site.htm#dataSourceRefreshSettings)。
6. 重新整理逾時期限過後，可以移除先前的 Bridge 用戶端執行個體。

## 疑難排解

### 安裝舊版本

如果要安裝舊版的 Bridge for Linux，則必須執行不同的命令來啟動工作電腦。如果是 2024.2 及更早版本，請使用 `TabBridgeClientWorker` 命令（不是 `run-bridge.sh` 命令）啟動工作電腦。

所有命令選項與上面[第 4 步：執行 Bridge 容器](#runBridgeContainer)記錄的相同。

例如： 

/opt/tableau/tableau\_bridge/bin/TabBridgeClientWorker -e --patTokenId="Mytoken" --userEmail="admin@tableau.com" --client="myBridgeAgent" --site="mySite" --patTokenFile="/home/jSmith/Documents/MyTokenFile.txt" --poolId="1091bfe4-604d-402a-b41c-29ae4b85ec94"

### 背景工作啟動錯誤

某些情況下，執行 `run-bridge.sh` 命令後會顯示以下錯誤：

`Missing log in parameters. Aborting the attempt to start service worker.`

大多數情況下，使用原始選項和 `-e` 選項可解決這個問題。這 `-e` 選項在前台執行 Bridge 背景服務。

如果在背景模式下執行 Bridge 用戶端並看到啟動錯誤，請驗證所有輸入參數是否包含任何所需檔案的路徑。例如，在背景模式下，不會提供使用者上下文來解析權杖檔案的路徑。

### 使用記錄檔

記錄檔儲存在使用者的 `My_Tableau_Bridge_Repository/Logs` 資料夾中。若要將記錄檔儲存在 `tmp` 資料夾中，請執行以下命令：

docker container run --volume /tmp/bridge\_logs:/root/Documents/My\_Tableau\_Bridge\_Repository/Logs -it bridge\_final /bin/bash

在此範例中，位置由 /tmp/bridge\_logs 指定。使用 Docker 命令可以簡化記錄檔的儲存，並避免必須手動將 Bridge 記錄檔從容器複製到本機檔案系統。

### MySQL 驅動程式失敗

若未使用 `UTF-8` 地區設定設定 `LC_MESSAGES`，可能會遇到讀取和顯示問題。可以編輯 `/etc/profile` 檔案，或使用下列命令重新啟動工作電腦：

LC\_ALL=en\_US.UTF-8 /opt/tableau/tableau\_bridge/bin/run-bridge.sh -e

### Bridge 用戶端因個人存取權杖過期而意外停止

如果個人存取權杖 (PAT) 過期，則會導致 Bridge 用戶端與 Tableau Cloud 斷開連線，並可能導致容器關閉。如果是 Bridge 用戶端，則可以透過在前台執行 Start 指令驗證 PAT 是否已過期。如果 PAT 已過期，則會看到以下錯誤消息：

`The client credentials are invalid. To complete the request, reset the credentials, and sign in to the Tableau Bridge client.`

如果您是原始 PAT 擁有者，也可以透過瀏覽 Tableau Cloud 中的管理帳戶設定驗證 PAT 是否已過期 。要解決此問題，需要產生新的 PAT 並按照上述步驟操作， [第 4 步：執行 Bridge 容器](#runBridgeContainer)。

### 嵌入式擷取與嵌入式即時連線逾時錯誤

Linux 上的 Bridge 24.3 版本為嵌入式資料擷取和嵌入式即時連線提供顯著的效能改進。如果在先前的版本中遇到逾時錯誤，建議您升級到 Linux 上的 Bridge 24.3 版本。如果這不能解決問題，請與工作簿分開發佈資料來源。