---
schema_version: "1"
id: e955f6d9b4e5b728c128460b39ba4b31babb84729ef850a915e537a2dcb5356b
title: Tableau Server ในคอนเทนเนอร์ - การใช้เครื่องมือตั้งค่า
collection: tableau
version: next
locale: th-th
portal_url: https://docs.salesforce.com/tableau/next/th-th/server-linux/server-in-container_setup-tool.md
canonical_url: https://help.tableau.com/v0.0/server-linux/th-th/server-in-container_setup-tool.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 711c518e19142571ada33b1291fbe07765ff892b98c7c057b2d8d31299c2fc30
description: Build a custom Tableau Server in a Container image using the Setup Tool.
---
[ข้ามไปยังเนื้อหาหลัก](#main-content)

# Tableau Server ในคอนเทนเนอร์ - การใช้เครื่องมือตั้งค่า

## บทนำ

Tableau Server ในคอนเทนเนอร์เป็นการเสนอบริการเซิร์ฟเวอร์ที่ใช้คอนเทนเนอร์เป็นหลักครั้งแรกของ Tableau Tableau Server ในคอนเทนเนอร์เป็นอินสแตนซ์ Tableau Server แบบครบวงจรที่ทำงานอยู่ในคอนเทนเนอร์ Linux Docker กล่าวอีกแง่หนึ่งคืออิมเมจ Tableau Server ในคอนเทนเนอร์เป็นอิมเมจ Docker ที่ใช้แอปพลิเคชัน Tableau Server ทั้งหมดด้วยตนเอง Tableau Server ในคอนเทนเนอร์เป็นหนึ่งในขั้นตอนมากมายของเราในการสนับสนุน Tableau Server ที่ทำงานในสภาพแวดล้อมที่ใช้คอนเทนเนอร์เป็นหลัก วิธีที่ง่ายที่สุดที่จะทำความเข้าใจแนวคิดของ Tableau Server ในคอนเทนเนอร์คือเสมือนว่าเป็น VM ที่มี Tableau Server ติดตั้งมาแล้วล่วงหน้า อิมเมจจะอิงตามอิมเมจ UBI 8 และเรียกใช้ `supervisord` (แทนที่ `systemd`) ในคอนเทนเนอร์ เมื่อคอนเทนเนอร์เริ่มใช้งาน `supervisord` ระบบจะพยายามเริ่มต้นใช้งานและเปิดใช้ Tableau Server ทันที เอกสารส่วนใหญ่ ณ ที่นี้มุ่งหวังที่จะอธิบายวิธีการกำหนดค่าและใช้ประโยชน์จากกระบวนการอัตโนมัติเพื่อที่คุณจะสามารถเรียกใช้ Tableau Server ในสภาพแวดล้อมด็อกเกอร์ได้

เครื่องมือการตั้งค่าอิมเมจของ Tableau Server ในคอนเทนเนอร์จะช่วยให้คุณสร้างและปรับแต่งอิมเมจคอนเทนเนอร์ให้รวมแพ็กเกจและอาร์ติแฟกต์ที่กำหนดเอง หนึ่งในฟังก์ชันหลักของเครื่องมือคือการสร้างอิมเมจคอนเทนเนอร์และติดตั้งเครื่องมือเชื่อมต่อข้อมูลที่กำหนดเอง

## ข้อจำกัดของ Tableau Server ในคอนเทนเนอร์

- Tableau Server ในคอนเทนเนอร์รองรับเฉพาะการเปิดใช้งานใบอนุญาตโดยใช้ Server ATR เท่านั้น ไม่รองรับการเปิดใช้งานแบบออฟไลน์
- ปัจจุบัน Tableau Server ในคอนเทนเนอร์ไม่รองรับเอเจนต์ของ Resource Monitoring Tool (RMT)
- Tableau Server ในคอนเทนเนอร์ไม่รองรับ Kerberos

## เครื่องมือตั้งค่า Tableau Server ในคอนเทนเนอร์

เครื่องมือตั้งค่า Tableau Server ในคอนเทนเนอร์ `build-image` สร้าง Tableau Server แบบกำหนดเองในอิมเมจคอนเทนเนอร์จากตัวติดตั้ง Tableau `.rpm` และไฟล์การกำหนดค่าที่ให้ไว้

เครื่องมือตั้งค่าใช้ตัวติดตั้ง Tableau Server และไดรเวอร์ของคุณ และอาร์ติแฟกต์อื่นๆ เป็นอินพุตและสร้างอิมเมจด็อกเกอร์ เมื่อใช้เครื่องมือ `build-image` อย่างเหมาะสม อิมเมจที่สร้างขึ้นใหม่จะติดตั้งอาร์ติแฟกต์ที่ต้องการ

### การกระจายที่รองรับสำหรับการสร้าง

การสร้าง Tableau Server ในอิมเมจด็อกเกอร์คอนเทนเนอร์รองรับเฉพาะในระบบ Linux ตาม RHEL (RHEL, CentOS หรือ Amazon Linux 2) การสร้างในการกระจาย Linux อื่นอาจเป็นไปได้แต่ยังไม่มีการทดสอบและยังไม่รองรับในขณะนี้ ไม่รองรับการสร้างอิมเมจบน macOS อิมเมจที่สร้างมาจากอิมเมจ UBI 8 (CentOS 7.x สำหรับเวอร์ชัน 2022.1 และเก่ากว่านั้น)

คุณต้องติดตั้ง Docker เวอร์ชัน 18.09 ขึ้นไปบนโฮสต์เพื่อสร้างอิมเมจคอนเทนเนอร์ โดยทั่วไปแล้ว เราแนะนำให้ใช้ Docker เวอร์ชันล่าสุดที่มีความเสถียร Linux Distros บางแหล่งมีเฉพาะ Docker เวอร์ชันเก่าในที่เก็บซอฟต์แวร์ ซึ่งในกรณีนี้ คุณอาจต้องติดตั้ง Docker จากแหล่งอื่น Docker เวอร์ชันเก่ากว่าเวอร์ชัน 18.09 จะไม่มีฟีเจอร์ที่จำเป็นสำหรับ Tableau Server ในคอนเทนเนอร์

### ดาวน์โหลดไฟล์ที่จำเป็น

ในการใช้ “เครื่องมือตั้งค่า” คุณต้องดาวน์โหลดทั้งเครื่องมือและไฟล์ ตัวติดตั้งเซิร์ฟเวอร์ `.rpm` ที่เข้ากันได้ ไฟล์ตัวติดตั้งต้องเป็นเวอร์ชัน 2021.2.0 หรือใหม่กว่า ไฟล์ทั้งสองสามารถดาวน์โหลดได้จาก [หน้า Tableau Server](http://tableau.com/th-th/support/releases/server/latest)

1. ดาวน์โหลดไฟล์ตัวติดตั้งเซิร์ฟเวอร์ `tableau-server-<version>.rpm` เวอร์ชัน 2021.2.0 หรือใหม่กว่า
2. ดาวน์โหลดเครื่องมือตั้งค่า Tableau Server ในคอนเทนเนอร์ `tableau-server-container-setup-tool-<version>.tar.gz`

### การติดตั้ง

เครื่องมือตั้งค่า Tableau Server ในคอนเทนเนอร์มีให้เป็น Tarball คุณจะต้องแยกข้อมูลเนื้อหาของไฟล์บีบอัด นี่คือตัวอย่างที่ถือว่าไฟล์เก็บถาวรเครื่องมือตั้งค่า Tableau Server ในคอนเทนเนอร์ อยู่ในไดเรกทอรีปัจจุบันของคุณ:

tar -xzf tableau-server-container-setup-tool-<VERSION>.tar.gz

ซึ่งจะสร้างไดเรกทอรีใหม่ `tableau-server-container-setup-tool-<VERSION>` ด้วยสคริปต์ `build-image` ที่คุณใช้ในการเรียกใช้เครื่องมือ

### กรอกแบบฟอร์มลงทะเบียน

แก้ไขไฟล์การลงทะเบียนเพื่อให้คุณได้รับข้อมูลระบุตัวตนที่ไม่ซ้ำกันที่จำเป็นสำหรับการลงทะเบียน Tableau Server ตามข้อตกลงสิทธิ์การใช้งานของผู้ใช้ ไฟล์ `reg-info.json` ทำหน้าที่เป็นเทมเพลตให้แก่ข้อมูลการลงทะเบียนซึ่งเป็นข้อมูลที่ระบุตัวตนได้ ไม่ซ้ำ และจำเป็น โดยอยู่ที่ไดเรกทอรีระดับบนสุดของ Tableau Server ในเครื่องมือการตั้งค่าคอนเทนเนอร์ ไฟล์นี้จะใช้สำหรับการลงทะเบียนอินสแตนซ์ Tableau Server ที่ทำงานอยู่ในอิมเมจ การให้ข้อมูลที่ถูกต้องจะทำให้แน่ใจว่าดำเนินกระบวนการลงทะเบียนเสร็จสิ้นอย่างถูกต้อง

**หมายเหตุ:**

- ค่าฟิลด์ `eula` จะมีการป้อนค่าไว้ล่วงหน้าว่า "ยอมรับ" เพื่อระบุว่าคุณยอมรับข้อตกลงสิทธิ์การใช้งานของผู้ใช้ (EULA) ของเรา คุณสามารถดู EULA ได้ในไดเรกทอรี EULA ของเครื่องมือบิลด์ ตามที่กำหนดไว้ใน EULA คุณจะต้องส่งการลงทะเบียนผู้ใช้ที่ระบุตัวตนได้อย่างไม่ซ้ำกันขณะเปิดใช้งาน Tableau Server เมื่อคุณทำการแก้ไขไฟล์การลงทะเบียนเสร็จสิ้นแล้ว ฟิลด์อื่นๆ ก็ควรมีค่าที่บ่งบอกถึงข้อมูลที่เฉพาะตัวของคุณด้วย ไฟล์นี้จะใช้สำหรับการลงทะเบียนอินสแตนซ์ Tableau Server ที่ทำงานอยู่ในอิมเมจ การป้อนข้อมูลที่ถูกต้องแม่นยำจะทำให้แน่ใจว่ากระบวนการลงทะเบียนจะเสร็จสิ้นและการส่งข้อมูลของคุณเป็นไปตามข้อกำหนดของการให้สิทธิ์ใบอนุญาต
    
    **หมายเหตุ:** คุณต้องยอมรับ EULA เพื่อใช้ Tableau Server ของเรา หากคุณไม่ยอมรับ EULA คุณจะไม่สามารถเรียกใช้ Tableau Server
- ค่าในฟิลด์ `opt_in` จะมีค่าเริ่มต้นเป็น "เท็จ" สําหรับหลายประเทศเพื่อระบุว่าคุณไม่ต้องการให้ Salesforce ส่งสื่อทางการตลาดถึงคุณ
    
    กฎหมายของบางประเทศอาจส่งผลต่อค่าเริ่มต้นของฟิลด์นี้ หากต้องการข้อมูลเพิ่มเติม โปรดดู[ข้อมูลความเป็นส่วนตัว](https://www.salesforce.com/ap/company/privacy/)บนเว็บไซต์ Salesforce

เทมเพลตไฟล์การลงทะเบียน `reg-info.json` ก่อนทำการแก้ไข:

{
"zip" : "\[value\]",  
"country" : "\[value\]",  
"city" : "\[value\]",  
"last\_name" : "\[value\]",  
"industry" : "\[value\]",  
"eula" : "\[value\]",  
"title" : "\[value\]",  
"company\_employees" : "\[value\]",  
"phone" : "\[value\]",  
"company" : "\[value\]",  
"state" : "\[value\]",  
"opt\_in" : "\[value\]",  
"department" : "\[value\]",  
"first\_name" : "\[value\]",  
"email" : "\[value\]"
}

### วิธีใช้เครื่องมือ

มีสคริปต์ที่เรียกใช้งานได้ในเครื่องมือตั้งค่าที่เรียกว่า `build-image` การใช้งานสิ่งนี้ด้วยตัวเลือก `-h` จะแสดงความช่วยเหลือ:

./src/build-image -h
Usage: build-image --accepteula -i \[INPUT\_IMAGE\_NAME\] -o \[OUTPUT\_IMAGE\_NAME\] \[optional arguments\]
Creates new Tableau Server image with pre-installed database drivers, configuration, and instructions.
REQUIRED

--accepteula              Indicate that you have accepted the End User License Agreement (EULA).

The EULA is available in the EULA directory of this tool.

-i installer              Path to the Tableau Server installer.

OPTIONAL

-o output name            Tag of target generated Tableau Server image.

-e environment file       Optional environment file to configuration overrides to docker image at build time.

-v setup tool version     Prints the Setup tool version.


-b base image version     Prints the default base image URL.

ตัวอย่างการใช้งานพื้นฐาน:

./build-image --accepteula -i tableau-server-image.rpm

การเรียกใช้งานคำสั่งโดยไม่ต้องให้อาร์ติแฟกต์หรือสคริปต์การตั้งค่าจะใช้งานได้ แต่ไม่สามารถทำอะไรได้เลยเพราะจะไม่มีการคัดลอกหรือติดตั้งทรัพยากรเพิ่มเติมใดๆ ลงในอิมเมจของ Tableau Server ในคอนเทนเนอร์เดิม

### การจัดระเบียบและผสมผสาน

Tableau ให้เอกสารกำกับและการสนับสนุนสำหรับคอนเทนเนอร์ Tableau Server ที่ทำงานบน Linux เท่านั้น Tableau ไม่ได้ให้เอกสารกำกับหรือการสนับสนุนสำหรับระบบการจัดระเบียบและผสมผสานคอนเทนเนอร์ เช่น Kubernetes หรือ Docker Swarm อย่างไรก็ตาม สามารถใช้ Kubernetes เพื่อปรับใช้ Tableau Server ในคอนเทนเนอร์ได้ สำหรับแหล่งข้อมูลและคำแนะนำในการปรับใช้คอนเทนเนอร์ Tableau ใน Kubernetes โปรดดู โครงการ GitHub ที่ที่สนับสนุนโดยชุมชนของเรา: [https://github.com/tableau/tableau-server-in-kubernetes](https://github.com/tableau/tableau-server-in-kubernetes)

### การปรับแต่งอิมเมจ

#### การตั้งค่าตัวแปรสภาพแวดล้อม ณ เวลาสร้าง

คุณสามารถตั้งค่าชุดย่อยของตัวแปรสภาพแวดล้อมที่สามารถปรับแต่งอิมเมจของคุณได้เมื่อสร้างอิมเมจเท่านั้น ซึ่งรวมถึงผู้ใช้ กลุ่ม และคุณสมบัติอื่นๆ ที่ต้องการสิทธิ์รูทภายในคอนเทนเนอร์ การดำเนินการรูทไม่ได้มีให้ตามค่าเริ่มต้นที่รันไทม์ นอกจากนี้ อาจมีประโยชน์ในการอบตัวแปรสภาพแวดล้อมบางอย่างลงในอิมเมจ ณ เวลาสร้าง ดังนั้นจึงไม่ต้องตั้งค่าทุกครั้งที่ใช้งานอิมเมจ ตัวแปรสภาพแวดล้อมเหล่านี้ทั้งหมดสามารถตั้งค่าได้โดยการส่งผ่านไฟล์สภาพแวดล้อมไปยังสคริปต์ build-image

##### ไฟล์สภาพแวดล้อม

ไฟล์สภาพแวดล้อมสามารถส่งผ่านไปยังสคริปต์ build-image โดยใช้อาร์กิวเมนต์ `-e` ไฟล์ต้องเป็นไปตามรูปแบบนี้:

<KEY>=<VALUE>
<KEY>=<VALUE>

##### ตัวอย่างการใช้งาน:

สร้างไฟล์สภาพแวดล้อมด้วยรูปแบบที่ถูกต้อง:

UNPRIVILEGED\_TABLEAU\_UID=1012
UNPRIVILEGED\_TABLEAU\_GID=1020
TABLEAU\_USERNAME=myuser
TABLEAU\_PASSWORD=pw

ส่งไฟล์ไปที่ตัวสร้างภาพ

./build-image --accepteula -i tableau-server-2020-3.x86\_64.rpm -e <path-to-env-file>

##### ตัวแปรสภาพแวดล้อม

ตัวแปรสภาพแวดล้อมใดๆ สามารถตั้งค่าได้ในไฟล์สภาพแวดล้อม ดูส่วน “ตัวแปรสภาพแวดล้อม” เพื่อดูรายการทั้งหมด

ตัวแปรสภาพแวดล้อมเวลาสร้างสามารถตั้งค่าได้เฉพาะเมื่อใช้งานสคริปต์นี้ในการสร้างอิมเมจ:

| ชื่อสภาพแวดล้อม | ค่าเริ่มต้น | คำอธิบาย |
| --- | --- | --- |
| `BASE_IMAGE_URL` | ใช้คำสั่งเครื่องมือการสร้าง: `build-image -b` | อิมเมจค่าเริ่มต้นที่ระบุในเครื่องมือ build-image และ Dockerfile เป็นอิมเมจฐานแบบเดียวที่รองรับอย่างเป็นทางการ พารามิเตอร์นี้สามารถนำไปใช้เพื่อดึงสำเนาของอิมเมจฐานที่เฉพาะเจาะจงนี้จากที่เก็บอิมเมจด็อกเกอร์ที่กำหนดเอง หรือนิยามอิมเมจฐานที่กำหนดเองก็ได้ หากคุณเลือกที่จะใช้อิมเมจฐานที่กำหนดขึ้นเอง (ดูรายละเอียดเพิ่มเติมที่ “การกำหนดอิมเมจฐานแบบกำหนดเอง”) เป็นความรับผิดชอบของคุณที่จะต้องตรวจสอบให้แน่ใจว่าอิมเมจฐานอิงตาม UBI 8 และมีทรัพยากรที่จำเป็นในการเรียกใช้ Tableau Server อย่างเหมาะสม |
| `PRIVILEGED_TABLEAU_GID` | `997` | GID ของกลุ่ม Tableau ที่มีสิทธิ์ |
| `UNPRIVILEGED_TABLEAU_GID` | `998` | GID ของกลุ่ม Tableau ที่ไม่มีสิทธิ์ |
| `UNPRIVILEGED_TABLEAU_UID` | `999` | UID ของผู้ใช้ที่เรียกใช้กระบวนการ Tableau (การปรับใช้ผู้ใช้คนเดียว) |
| `UNPRIVILEGED_USERNAME` | `tableau` | ชื่อสตริงของผู้ใช้ที่ไม่มีสิทธิ์ |
| `UNPRIVILEGED_GROUP_NAME` | `tableau` | ชื่อสตริงของกลุ่มที่ไม่มีสิทธิ์ |
| `PRIVILEGED_GROUP_NAME` | `tsmadmin` | ชื่อสตริงของผู้ใช้ที่มีสิทธิ์ |
| `LANG` | `en_US.UTF-8` | การตั้งค่าภาษา |

#### ไดรเวอร์ ใบรับรอง และไฟล์อื่นๆ

อิมเมจ Tableau Server ไม่ได้มาพร้อมกับตัวเชื่อมต่อข้อมูลหรือไดรเวอร์ที่ติดตั้งไว้ล่วงหน้า คุณจะต้องสร้าง Bash setup-script ที่จะสั่งให้สคริปต์ `build-image` ติดตั้งตัวเชื่อมต่อข้อมูลที่ Tableau Server จะต้องการ นี่คือขั้นตอนที่คุณจะต้องทำ

1. ตรวจสอบให้แน่ใจว่าได้ติดตั้ง Tableau Server ในเครื่องมือติดตั้งคอนเทนเนอร์อย่างถูกต้อง
2. ดาวน์โหลดไดรเวอร์จากหน้าไดรเวอร์ Tableau: [https://www.tableau.com/th-th/support/drivers](https://www.tableau.com/th-th/support/drivers)
3. คัดลอกไฟล์ไดรเวอร์ที่ดาวน์โหลดลงในไดเรกทอรี customer-files ใน Tableau Server ในเครื่องมือตั้งค่าคอนเทนเนอร์
    
    ไดเรกทอรี `customer-files` จะถูกคัดลอกไปยังอิมเมจด็อกเกอร์ ซึ่งจะอยู่ในเส้นทางต่อไปนี้ภายในคอนเทนเนอร์: `/docker/customer-files`
4. แก้ไขไฟล์ในเครื่องมือตั้งค่า Tableau Server ในคอนเทนเนอร์ `customer-files/setup-script` เพื่อบอกด็อกเกอร์ถึงวิธีการติดตั้งไดรเวอร์
    
    สคริปต์เป็นเพียงไฟล์ Bash ที่สามารถเรียกใช้งานได้ซึ่งจะดำเนินการเมื่อสร้างอิมเมจด็อกเกอร์ (ในทางเทคนิค สามารถใช้ในการดำเนินการที่กำหนดเองใดๆ ในอิมเมจ รวมถึงการตั้งค่าสภาพแวดล้อม การกำหนดค่า และการอัปเดตไดรเวอร์หรือการเพิ่มเติม ฯลฯ)
    
    สคริปต์จะถูกเรียกใช้ภายในคอนเทนเนอร์ ดังนั้นโปรดระวังว่าคำสั่งจะต้องทำงานเมื่อดำเนินการภายใน Tableau Server ในอิมเมจคอนเทนเนอร์
    
    ตัวอย่างเช่น หากคุณต้องการติดตั้งไดรเวอร์ชื่อ mydriver.rpm คุณจะต้องเขียนสิ่งนี้ใน `setup-script`:
    
    yum install -y /docker/customer-files/mydriver.rpm

##### มุมมองสำหรับการดูแลระบบ Tableau

มุมมองการดูแลระบบ Tableau จำเป็นต้องติดตั้งไดรเวอร์ PostgreSQL หากคุณวางแผนที่จะใช้มุมมองเหล่านี้ คุณจะต้องทำตามขั้นตอนด้านบนและติดตั้งไดรเวอร์ PostgreSQL หากต้องการข้อมูลเพิ่มเติม เกี่ยวกับมุมมองการดูแลระบบ โปรดดู [มุมมองสำหรับการดูแลระบบ](https://help.tableau.com/v0.0/server-linux/th-th/adminview.htm)

#### การกำหนดอิมเมจฐานแบบกำหนดเอง

อิมเมจฐานเริ่มต้นที่ใช้สร้างคอนเทนเนอร์ Tableau Server คืออิมเมจ UBI 8 ที่มาจาก Docker Hub ในบางกรณี คุณอาจต้องการกำหนดค่าเครื่องมือ build-image เพื่อดึงภาพจากที่เก็บอิมเมจด็อกเกอร์อื่น ตัวอย่างเช่น บริษัทของคุณอาจจัดการที่เก็บอิมเมจด็อกเกอร์ภายในและไม่ต้องการดึง `build-image` จากที่เก็บสาธารณะ ใช้ขั้นตอนต่อไปนี้เพื่อปรับแต่เส้นทางของอิมเมจฐานเอง:

1. ใช้คำสั่งต่อไปนี้เพื่อดูชื่ออิมเมจฐานเริ่มต้นและเวอร์ชันของเครื่องมือ `build-image` ปัจจุบัน:
    
    ./build-image -b
2. ดึงชื่อและเวอร์ชันของอิมเมจฐานที่ตรงกันทุกประการจาก “ด็อกเกอร์หับ” และจัดเก็บ/แคชในที่เก็บอิมเมจที่คุณต้องการ (ตามนโยบายอิมเมจของบริษัทของคุณ)
3. กลับมาที่เครื่องมือ build-image สร้างหรือแก้ไขไฟล์สภาพแวดล้อมที่มีอยู่เพื่อรวมคีย์สภาพแวดล้อม `BASE_IMAGE_URL` ด้วยค่าที่ตั้งเป็นเส้นทางรีจิสทรีอิมเมจด็อกเกอร์ใหม่:
    
    BASE\_IMAGE\_URL=<custom-image-registry-path>
4. สร้างอิมเมจด้วยไฟล์สภาพแวดล้อม:
    
    ./build-image --accepteula -i <rpm> -e <path-to-env-file>

ขั้นตอนเหล่านี้ทำให้คุณสามารถระบุอิมเมจฐานที่ต่างไปจากเดิมอย่างสิ้นเชิง ความสามารถนี้รองรับเฉพาะอิมเมจที่ใช้ UBI 8 และมีให้เพื่อช่วยให้ลูกค้าสร้างอิมเมจที่ปลอดภัยยิ่งขึ้น

การใช้อิมเมจฐานอื่นที่ไม่ใช่ค่าเริ่มต้นที่ระบุโดย Tableau มีความเสี่ยงในการสร้างอิมเมจที่ไม่เริ่มทำงานหรือทำงานไม่ถูกต้อง หากคุณเลือกใช้อิมเมจฐานแบบกำหนดเอง คุณมีหน้าที่รับผิดชอบในการตรวจสอบว่าอิมเมจฐานช่วยให้ Tableau Server ทำงานได้อย่างถูกต้อง เราขอแนะนำให้ใช้อิมเมจฐานเริ่มต้น เว้นแต่องค์กรของคุณจะยอมรับไม่ได้ด้วยเหตุผลบางประการ เช่น ข้อกังวลด้านความปลอดภัย  
  
อิมเมจฐานที่กำหนดเองต้องอิงตาม UBI 8 การใช้การแจกแจงอื่นๆ จะส่งผลให้อิมเมจไม่รองรับ

#### การใช้ที่เก็บภายในสำหรับ yum และ pip

Tableau Server ในอิมเมจคอนเทนเนอร์ได้รับการกำหนดค่าให้ใช้ที่เก็บ yum และ pip เริ่มต้นเพื่อดึงแพ็คเกจที่ขึ้นต่อกัน หากคุณต้องการแก้ไข ลบ หรือเพิ่มที่เก็บ (เช่น ที่เก็บภายในอาจถูกใช้เพื่อปรับปรุงความปลอดภัย) คุณจะต้องแก้ไขหนึ่งในสคริปต์การเริ่มต้นของ “เครื่องมือตั้งค่าอิมเมจ”

แก้ไขสคริปต์ `<setup_tool>/src/image/init/setup_default_environment.bash` ในรหัสต้นทางเพื่อใช้ที่เก็บภายใน โปรดเก็บไฟล์ที่เก็บที่จำเป็นสำหรับที่เก็บภายในไว้ในไดเรกทอรี `<setup_tool>/src/image/init/` ไดเรกทอรีจะถูกคัดลอกไปยังอิมเมจด็อกเกอร์

#### อิมเมจฐานและความปลอดภัย

ลูกค้าจำนวนมากจะเรียกใช้เครื่องมือสแกนคอนเทนเนอร์ (เช่น AquaScan หรือ TwistLock) กับอิมเมจด็อกเกอร์ของ Tableau Server ที่สร้างขึ้น เครื่องมือรักษาความปลอดภัยเหล่านี้จะสร้างรายงานเกี่ยวกับช่องโหว่ด้านความปลอดภัยที่อาจเกิดขึ้น (หรือ “ช่องโหว่และความเสี่ยงทั่วไป” หรือ CVE) มีช่องโหว่สองประเภทที่เกี่ยวข้องกับ Tableau Server ในอิมเมจคอนเทนเนอร์

- CVE ที่เกี่ยวข้องกับ Tableau Server หรือกับไลบรารีที่เรามีการขึ้นต่อกัน
- CVE ที่เกี่ยวข้องกับ Linux Distro เบื้องหลัง

Tableau รับผิดชอบ CVE ที่เกี่ยวข้องโดยตรงกับ Tableau Server ทีมรักษาความปลอดภัยวิเคราะห์รายงานเหล่านี้เพื่อกำหนดผลกระทบและความรุนแรงเพื่อช่วยจัดลำดับความสำคัญของปัญหาเพื่อการแก้ไข ลำดับความสำคัญของการแก้ไขพื้นฐานและไทม์ไลน์จะถูกกำหนดโดยคะแนนความรุนแรงของ CVSS เดิม โดยปกติแล้ว การอัปเดตความปลอดภัยของคอมโพเนนต์ของบุคคลที่สามจะไม่ถูกพอร์ตย้อนกลับไปยังรุ่นที่เก่ากว่า เว้นแต่จะมีเส้นทางโค้ดที่เรียกใช้งานได้ซึ่งเปิดเผยช่องโหว่

ด้วยโมเดลการแจกจ่ายคอนเทนเนอร์ ลูกค้าต้องเผชิญกับชุดความท้าทายต่างๆ เกี่ยวกับช่องโหว่ของเลเยอร์ OS กับ Tableau Server นั้น ตามหลักแล้ว Tableau จะเน้นความพยายามในการส่งมอบแอปพลิเคชันที่ปลอดภัย และลูกค้ามีหน้าที่รับผิดชอบในการจัดการระบบปฏิบัติการ (Linux หรือ Windows) อย่างไรก็ตาม ด้วยการสร้างคอนเทนเนอร์ ระบบปฏิบัติการ (UBI 8 โดยเริ่มตั้งแต่เวอร์ชัน 2023.3) และแอปพลิเคชันจะถูกรวมเข้าด้วยกันในคอนเทนเนอร์เดียว Tableau รับผิดชอบต่อ CVE ที่เกี่ยวข้องกับ Tableau Server และต่อการกำหนดว่า CVE จากไลบรารีบุคคลที่สามจะส่งผลกระทบต่อลูกค้าหรือไม่ อย่างไรก็ตาม ลูกค้าต้องรับผิดชอบต่อปัญหาเลเยอร์ OS เพื่อให้ลูกค้าสามารถจัดการปัญหาด้านความปลอดภัยในเลเยอร์ OS ลูกค้าสามารถแทนที่เลเยอร์ OS พื้นฐานด้วยเวอร์ชันของตนเองได้ (UBI 8 ที่ใช้สำหรับเวอร์ชัน 2022.3 ขึ้นไป) ในการดำเนินการนี้ คุณต้องตรวจสอบว่า Tableau Server ทำงานอย่างถูกต้อง การนำไลบรารี Tableau Server ออกจะขึ้นอยู่กับสาเหตุของปัญหาด้านความปลอดภัยที่อาจส่งผลให้อินสแตนซ์ของ Tableau Server ไม่ทำงาน หากคุณเปลี่ยนเลเยอร์ OS พื้นฐาน ลูกค้ามีหน้าที่ตรวจสอบว่าใช้งานได้

##### การเพิ่มความรัดกุมของ Tableau Server ในคอนเทนเนอร์

คุณสามารถใช้ขั้นตอนการเพิ่มความรัดกุมมาตรฐานกับ Tableau Server ในคอนเทนเนอร์ได้ หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับการเพิ่มความรัดกุมให้ Tableau Server โปรดดู [รายการตรวจสอบเพื่อปิดช่องโหว่ด้านความปลอดภัย](https://help.tableau.com/v0.0/server-linux/th-th/security_harden.htm)

### ตัวอย่างการกำหนดค่าการปรับใช้

#### ด็อกเกอร์

##### การใช้งานพื้นฐานของ Tableau Server ในคอนเทนเนอร์

docker run \\
-e LICENSE\_KEY=<key>
-p 8080:8080
-d <Tableau Server in a Container image ID or tag>

##### การใช้งานพื้นฐานของ Tableau Server ในคอนเทนเนอร์พร้อมผู้ใช้ที่เป็นผู้ดูแลระบบเริ่มต้นที่ทำงานอัตโนมัติ

docker run \\
-e LICENSE\_KEY=<key> \\
-e TABLEAU\_USERNAME=<myadmin> \\
-e TABLEAU\_PASSWORD\_FILE=/etc/tableau-admin-secret \\
-v <full-path-to-pw-file>:/etc/tableau-admin-secret \\
-p 8080:8080 -d <Tableau Server in a Container image ID or tag>

##### โหมด TSM เท่านั้น

docker run \\
-e TSM\_ONLY=1 \\
-p 8080:8080 -d <Tableau Server in a Container image ID or tag>

##### การใช้งานพื้นฐานของโหนดหลายโหนด

###### โหนดตั้งต้น

**ตัวเลือกที่ 1:** ใช้ตัวเลือกนี้หากการกำหนดค่าเซิร์ฟเวอร์ (`CONFIG_FILE`) ระบุโทโพโลยีแบบหลายโหนด:

docker run \\
-v <network-shared-directory>:/docker/config/bootstrap \\
-v <full-path-to-config-file>:/docker/config/config.json:ro \\
-e LICENSE\_KEY=<key> \\
-p 8080:8080 -p 8800-9000:8800-9000 -p 27000-27010:27000-27010 \\
--hostname=<name-of-host-machine> \\
-d <Tableau Server in a Container image ID or tag>

**ตัวเลือกที่ 2:** ใช้ตัวเลือกนี้หากคุณต้อวการปรับใช้หลายโหนดแม้การกำหนดค่าเซิร์ฟเวอร์จะไม่ได้ระบุโทโพโลยีแบบหลายโหนดก็ตาม:

docker run \\
-v <network-shared-directory>:/docker/config/bootstrap \\
-e LICENSE\_KEY=<key> -e ALWAYS\_WRITE\_BOOTSTRAP\_FILE=1 \\
-p 8080:8080 -p 8800-9000:8800-9000 -p 27000-27010:27000-27010 \\
--hostname=<name-of-host-machine> \\
-d <Tableau Server in a Container image ID or tag>

###### โหนดเพิ่มเติม

docker run \\
-v <network-shared-directory>:/docker/config/bootstrap \\
-e BOOTSTRAP\_INSTALL=1 \\
-p 8080:8080 -p 8800-9000:8800-9000 \\
--hostname=<name-of-host-machine> \\
-d <Tableau Server in a Container image ID or tag>

##### ทำให้การใช้งานข้อมูลเป็นภายนอก

docker run \\
-v <empty-data-dir>:/var/opt/tableau \\
-e LICENSE\_KEY=<key> \\
--hostname=localhost \\
-p 8080:8080 -d <Tableau Server in a Container image ID or tag>

##### การใช้งานพื้นฐานของคอนเทนเนอร์ตั้งต้น

**คอนเทนเนอร์ตั้งต้น**

docker run \\
-v <empty-data-dir>:/var/opt/tableau \\
-e LICENSE\_KEY=<key> \\
-e INIT\_CONTAINER=1 \\
--hostname=localhost \\
-p 8080:8080 -d <Tableau Server in a Container image ID or tag>

**เรียกใช้คอนเทนเนอร์**

docker run \\
-v <empty-data-dir>:/var/opt/tableau \\
--hostname=localhost \\
-p 8080:8080 -d <Tableau Server in a Container image ID or tag>

##### การกู้คืนพื้นฐานจากโหนดเดี่ยวที่สำรองไว้

docker run \\
-v <full-path-to-backup-file>:/docker/config/backup/backup-file.tsbak \\
-v <full-path-to-config-only-file>:/docker/config/config.json:ro \\
-e LICENSE\_KEY=<key> \\
-p 8080:8080 -d <Tableau Server in a Container image ID or tag>

#### Docker-Compose

version: '3.2'
services:
    tableau-server:
         hostname: localhost
         volumes:
              - <your-tsm-command-file>:/docker/config/tsm-commands:ro
              - <your-config-file >:/docker/config/config.json:ro
         ports:
              - "8080:8080"
         image: ${IMAGE\_NAME}
         environment:
              - LICENSE\_KEY=<license-key>