ติดตั้ง Rancher OS ผ่าน iPXE
Rancher OS คือการกระจาย Linux ที่เบามากซึ่งสร้างขึ้นรอบ ๆ Docker ระบบปฏิบัติการมีน้ำหนักประมาณ 20MB บทช่วยสอนนี้จะทำให้คุณพร้อมใช้งาน
เราทุกคนต่างก็รู้จักและชื่นชอบนักเทียบท่าซึ่งเป็นแพลตฟอร์มในการสร้างจัดการและแจกจ่ายคอนเทนเนอร์ของแอปพลิเคชันในหลาย ๆ เครื่อง Docker Inc. ให้บริการโฮสต์คอนเทนเนอร์โอเพ่นซอร์สที่จะดาวน์โหลด (หรือดึง) เช่นที่เก็บ git ที่รู้จักในชื่อ "Docker Registry" คิดเหมือน GitHub สำหรับภาชนะ Docker
แต่ถ้าคุณต้องการโฮสต์รีจิสตรีของคุณแยกออกจากที่สาธารณะล่ะ ก็ดี Docker Inc. ได้เปิดแอปพลิเคชั่น Registry ของพวกเขาใน GitHub
บทช่วยสอนนี้จะนำคุณไปสู่กระบวนการตั้งค่ารีจิสตรี Docker ส่วนตัวโดยใช้ CoreOS ใน VPS ใหม่
เราจะไม่ใช้เวลามากมายในการเรียนรู้สิ่งที่นักเทียบท่าและ CoreOS สามารถทำได้เนื่องจากอยู่นอกขอบเขตของบทช่วยสอนนี้ ในสาระสำคัญ CoreOS ได้รับการออกแบบมาสำหรับกลุ่มเซิร์ฟเวอร์ขนาดใหญ่มันเล็กเร็วและได้รับการปรับปรุงความปลอดภัยเป็นประจำโดยอัตโนมัติ ระบบไฟล์รูทของมันยังเป็นแบบอ่านอย่างเดียวซึ่งหมายความว่าคุณต้องใช้ Docker เพื่อเรียกใช้ซอฟต์แวร์ประเภทใดก็ตามที่ไม่รวมอยู่ในการติดตั้งพื้นฐาน
สิ่งนี้ทำให้ Core OS เป็นระบบโฮสต์ที่สมบูรณ์แบบสำหรับนักเทียบท่า!
Docker Inc. ให้บริการ Registry เป็นรูปภาพระดับบนสุดซึ่งหมายความว่าเราสามารถดึงลงมาได้ง่ายๆ
docker pull registry
อาจใช้เวลาสักครู่ขึ้นอยู่กับความเร็วในการเชื่อมต่อ
ข้อดีของการเป็นภาพระดับบนยังหมายถึงการได้รับการสนับสนุนและการปรับปรุงอย่างสม่ำเสมอ
ทีนี้ลองทดสอบรีจิสตรี เราสามารถสร้างที่เก็บใหม่โดยใช้อิมเมจรีจิสตรี:
docker run -p 5000:5000 -d --name=basic_registry registry
สำหรับผู้ที่ไม่ได้ใช้ Docker มากเกินไป-p
ธงย่อมาจากPORT
หมายความว่าเรากำลังเปิดเผยพอร์ต 5000 ต่อจากคอนเทนเนอร์ไปยังโฮสต์พอร์ต 5000
-d
ธงยืนสำหรับการdaemon
นี้จะทำให้ภาชนะที่ทำงานในพื้นหลังและไม่ได้พิมพ์ออกไปเซสชั่น SSH ปัจจุบันเรายังต้องการที่จะตั้งชื่อคอนเทนเนอร์ทดสอบนี้พื้นฐานที่ใช้--name
ตัวเลือกเพื่อให้เราสามารถจัดการได้ในภายหลัง
ตรวจสอบให้แน่ใจว่าที่เก็บรีจิสทรีพื้นฐานของคุณใช้งานdocker ps
อยู่ ผลลัพธ์ควรมีลักษณะคล้ายกับ:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
edfb54e4a8c4 registry:0.8.1 "/bin/sh -c 'exec do 7 seconds ago Up 6 seconds 0.0.0.0:5000->5000/tcp basic_registry
นอกจากนี้โปรดไปที่http://YOUR_IP:5000
เว็บเบราว์เซอร์ของคุณและคุณควรได้รับข้อความดังนี้
"docker-registry server (dev) (v0.8.1)"
สังเกตคำ
dev
ในวงเล็บ ซึ่งหมายความว่าเซิร์ฟเวอร์กำลังเรียกใช้ dev config เราจะตรวจสอบการกำหนดค่าเพิ่มเติมในไม่ช้า
ตอนนี้คุณมีรีจิสตรีคอนเทนเนอร์ (พื้นฐานมาก) ของคุณเองทำงานอยู่! แต่เรายังไม่ได้ทำ
บางทีคุณอาจต้องการเก็บความเป็นส่วนตัวจากสายตาที่แอบสอดส่องหรืออาจเก็บภาพของคุณใน Amazon S3 แทนที่จะเป็นที่เก็บข้อมูลในเครื่อง มาดูตัวเลือกการกำหนดค่าต่างๆในส่วนถัดไป
ก่อนที่เราจะไปต่อให้เราฆ่า container container เพื่อทดสอบว่าเราจะไม่เจอกับพอร์ตที่ขัดแย้งกัน
docker kill basic_registry
มีสองวิธีที่เราสามารถส่งการกำหนดค่าไปที่ Docker Registry วิธีหนึ่งคือการส่งผ่านตัวแปรสภาพแวดล้อมไปยังคอนเทนเนอร์ใหม่และอีกอันคือการเพิ่มไฟล์กำหนดค่า
นี่คือตัวเลือกการกำหนดค่าทั่วไปที่เราจะใช้:
loglevel
- จำนวนข้อมูลขั้นต่ำในการเข้าสู่คอนโซล info
เริ่มต้นคือstandalone
- รีจิสทรีนี้ควรทำหน้าที่ของมันเองหรือ (ยังไม่เคยสอบถามรีจิสทรีสาธารณะ.) true
เริ่มต้นคือindex_endpoint
- หากไม่ใช่แบบสแตนด์อโลนเราจะสืบค้นดัชนีอื่น ๆ index.docker.io
ผิดนัดcache
และcache_lru
- ตัวเลือกที่เกี่ยวข้องกับการใช้แคช Redis สำหรับไฟล์ขนาดเล็กเราจะสัมผัสในภายหลังstorage
- แบ็กเอนด์ที่เก็บข้อมูลใดที่เราควรใช้กับเซิร์ฟเวอร์นี้ (ในบทช่วยสอนนี้เราจะใช้โลคัล)storage_path
- หากใช้ที่เก็บข้อมูลในเครื่องเราควรใช้ไดเรกทอรีใดในการเก็บไฟล์ไว้ก่อนที่เราจะทำงานกับการกำหนดค่าเราจำเป็นต้องมีไฟล์พื้นฐานเพื่อใช้งาน ไฟล์จากที่เก็บ Docker Registry บน GitHub จะใช้งานได้:
wget https://raw.githubusercontent.com/docker/docker-registry/0.8/config/config_sample.yml
ไฟล์ควรบันทึกสำเร็จด้วยเอาต์พุตเช่น:
2014-09-14 14:09:01 (156 MB/s) - 'config_sample.yml' saved [5384/5384]
ที่ดี! ตอนนี้เราสามารถแก้ไขไฟล์นี้เพื่อให้เหมาะกับความต้องการของเรา
เท็กซ์เอดิเตอร์เดียวที่มาพร้อมกับ Core OS คือvim
แต่ไม่ต้องกังวลหากคุณไม่เคยใช้มาก่อนสิ่งนี้จะอธิบายทีละขั้นตอนว่าจะแก้ไขอย่างไรและทำอย่างไร
vim config_sample.yml
เมื่อคุณเปิดไฟล์แล้วให้กดที่I
และมุมล่างขวาควรแสดง: -- INSERT --
สำหรับโหมดแทรก prod
เลื่อนไปตลอดทางจนถึงด้านล่างของแฟ้มโดยใช้ปุ่มลูกศรของคุณคุณจะเห็นส่วนที่มีข้อความ
เราจะเปลี่ยนสองบรรทัดการเปลี่ยนแปลงอยู่ด้านล่าง
prod:
<<: *local
storage_path: _env:STORAGE_PATH:/data
สิ่งที่เราทำคือเปลี่ยนการprod
กำหนดค่าให้ได้มาจากlocal
ส่วนแทนที่จะเป็นs3
ส่วน จากนั้นเราเขียนทับการstorage_path
ใช้เส้นทาง/data
ภายในคอนเทนเนอร์ใหม่
เมื่อคุณยืนยันว่าการเปลี่ยนแปลงทั้งหมดนั้นถูกต้องให้กดESC
เพื่อออกจากโหมดแทรกและประเภท:wq
(ซึ่งหมายความว่าเขียนการเปลี่ยนแปลงไปยังไฟล์และออกจาก vim)
ตอนนี้ขอเปลี่ยนชื่อไฟล์เป็นเพียง config.yml
mv config_sample.yml config.yml
หากคุณต้องการใช้ redis เพื่อเพิ่มความเร็วในการลงทะเบียนคอนเทนเนอร์ของคุณมันง่ายพอ ๆ กับการดึงที่เก็บใหม่จากการลงทะเบียนสาธารณะและเพิ่มการกำหนดค่าอีกสองสามบรรทัด
ก่อนอื่นให้ดึงภาพระดับสูงสุดของ Redis:
docker pull redis
เมื่อดึงภาพเรียบร้อยแล้วเราสามารถเรียกใช้และตั้งชื่อเหมือนที่เราทำกับการทดสอบรีจิสตรี:
docker run -d --name registry-redis redis
เนื่องจาก redis อยู่ในหน่วยความจำเราไม่จำเป็นต้องทำการกำหนดค่าใด ๆ เพราะเราจะเชื่อมโยงไปยังที่เก็บรีจิสตรีในขั้นตอนต่อไป
ตรวจสอบให้แน่ใจว่ากำลังทำงานโดยใช้docker ps
:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
54f65641eccf redis:2.8 "redis-server" 2 seconds ago Up 1 seconds 6379/tcp registry-redis
ตอนนี้เปิดใหม่config.yml
ในvim
และเข้าสู่โหมดแทรกเหมือนครั้งแรกที่เราแก้ไขมัน
เพิ่มบรรทัดต่อไปนี้ด้านล่างprod
ส่วนให้แน่ใจว่าได้เยื้องอย่างถูกต้อง เวลานี้เรากำลังเพิ่มเพียงและcache
cache_lru
cache:
host: _env:REDIS_PORT_6379_TCP_ADDR
port: _env:REDIS_PORT_6379_TCP_PORT
db: 0
cache_lru:
host: _env:REDIS_PORT_6379_TCP_ADDR
port: _env:REDIS_PORT_6379_TCP_PORT
db: 1
ตัวแปรสภาวะแวดล้อมREDIS_PORT_6379_TCP_ADDR
และREDIS_PORT_6379_TCP_PORT
ถูกส่งผ่านไปยังคอนเทนเนอร์รีจิสตรีเมื่อเชื่อมโยงกับคอนเทนเนอร์ Redis
ด้วยสิ่งนี้คุณได้ตั้งค่าคอนเทนเนอร์ Redis ที่จะทำงานร่วมกับคอนเทนเนอร์รีจิสตรีของคุณ ตอนนี้สู่การสร้างรีจิสทรี!
เรามีชุดการกำหนดค่าทั้งหมดและพร้อมตอนนี้เราต้องสร้างที่เก็บรีจิสทรีจริง
เปิดเครื่องvim Dockerfile
เพื่อสร้าง Dockerfile ใหม่ เข้าสู่โหมดแทรกและทำตามการแก้ไขด้านล่าง
FROM registry:latest
# Add the custom configuration file we made
ADD ./config.yml /docker-registry/config/config.yml
# Create the data directory
RUN mkdir /data
# Set the configuration file to config.yml
env DOCKER_REGISTRY_CONFIG /docker-registry/config/config.yml
# Make sure we use the prod configuration settings
env SETTINGS_FLAVOR prod
สิ่งที่เราทำด้านบนนั้นเป็นส่วนขยายภาพรีจีสตรีดังนั้นจึงจะใช้ไฟล์การกำหนดค่าและการตั้งค่าของเรา Dockerfile เป็นชุดคำสั่งสำหรับการสร้างเพื่อให้นักอ่านอ่านและสร้าง หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ Dockerfiles และไวยากรณ์ดูเอกสารประกอบของเว็บไซต์ Docker อย่างเป็นทางการ
ต่อไปเราต้องสร้างคอนเทนเนอร์เพื่อใช้
docker build -t my_registry .
Sending build context to Docker daemon 13.82 kB
Sending build context to Docker daemon
Step 0 : FROM registry
---> e42d15ec8417
Step 1 : ADD ./config.yml /docker-registry/config/config.yml
---> 4339f026d459
Removing intermediate container 2d5138fbcd34
Step 2 : RUN mkdir /data
---> Running in a090f0bdbfd1
---> 8eb27ba6e12a
Removing intermediate container a090f0bdbfd1
Step 3 : env DOCKER_REGISTRY_CONFIG /docker-registry/config/config.yml
---> Running in 565b5bfb2b22
---> 914462e46dc0
Removing intermediate container 565b5bfb2b22
Step 4 : env SETTINGS_FLAVOR prod
---> Running in 31a92847b851
---> b5949575c374
Removing intermediate container 31a92847b851
Successfully built b5949575c374
ตอนนี้เราพร้อมที่จะวิ่ง!
มาสร้างไดเรกทอรีบนระบบโฮสต์ของเราเพื่อติดตั้งในคอนเทนเนอร์เป็น/data
โวลุ่ม
mkdir registry-data
ตอนนี้เราสามารถหมุนภาชนะใหม่ หากคุณวางแผนที่จะใช้แคช Redis ให้ใช้คำสั่งที่ 2 ด้านล่าง
# For a non-Redis cache registry
docker run -d -p 5000:5000 -v /home/core/registry-data:/data --name=private_reg my_registry
# For a Redis cached registry (Must have followed Redis Caching section above)
docker run -d -p 5000:5000 -v /home/core/registry-data:/data --name=private_reg --link registry-redis:redis my_registry
เพื่อให้แน่ใจว่าเซิร์ฟเวอร์ของคุณทำงานได้อย่างถูกต้อง, http://YOUR_IP:5000
การเยี่ยมชม คุณจะเห็นข้อความต่อไปนี้:
"docker-registry server (prod) (v0.8.1)"
สังเกต(prod)
ความหมายการเปลี่ยนแปลงการกำหนดค่าของเราสำเร็จ!
ตอนนี้เรามีรีจิสตรีทำงานของตัวเองเราต้องการให้ไคลเอ็นต์ Docker บนเครื่องท้องถิ่นของเราเริ่มใช้งาน โดยปกติคุณจะใช้คำสั่ง: docker login
แต่สำหรับการใช้งานของเราเราจำเป็นต้องเพิ่มอาร์กิวเมนต์อีกหนึ่งคำสั่งเข้าสู่ระบบ:
docker login YOUR_IP:5000
ป้อนชื่อผู้ใช้และรหัสผ่าน (คิดว่าเป็นเช่นนี้ในการสร้างบัญชีใหม่) และละเว้นข้อความที่แจ้งว่าคุณต้องเปิดใช้งาน
ต่อไปเรามาดึงภาพสต็อกและผลักดันมันไปยังที่เก็บของเราเอง
# Pull the busybox image from the public registry
docker pull busybox
# Tag it with our IP/URL
docker tag busybox YOUR_IP:5000/busybox
# Push it to our newly made registry
docker push YOUR_IP:5000/busybox
หากทุกอย่างผลักดันอย่างถูกต้องข้อความสุดท้ายควรอยู่ในแนวของ:
Pushing tag for rev [a9eb17255234] on
ขอแสดงความยินดี! คุณได้ตั้งค่าที่เก็บนักเทียบท่าของคุณเอง
ต่อไปนี้เป็นแนวคิดบางส่วนเกี่ยวกับวิธีการปรับปรุงรีจิสทรีส่วนตัวใหม่ของคุณ:
Rancher OS คือการกระจาย Linux ที่เบามากซึ่งสร้างขึ้นรอบ ๆ Docker ระบบปฏิบัติการมีน้ำหนักประมาณ 20MB บทช่วยสอนนี้จะทำให้คุณพร้อมใช้งาน
บทนำนักเทียบท่าเป็นแอพพลิเคชั่นที่ช่วยให้เราสามารถปรับใช้โปรแกรมที่ทำงานเป็นตู้คอนเทนเนอร์ได้ มันถูกเขียนในภาษาโปรแกรม Go ที่ได้รับความนิยม
แอปพลิเคชัน PHP มักประกอบด้วยเว็บเซิร์ฟเวอร์ระบบฐานข้อมูลเชิงสัมพันธ์และล่ามภาษาเอง ในบทช่วยสอนนี้เราจะเป็นผู้ใช้ประโยชน์
Harbour เป็นเซิร์ฟเวอร์รีจิสตรีระดับองค์กรโอเพนซอร์ซที่จัดเก็บและกระจายอิมเมจ Docker ฮาร์เบอร์ขยายโอเพนซอร์ซ
ใช้ระบบที่แตกต่างกันอย่างไร เกริ่นนำ Rancher เป็นแพลตฟอร์มโอเพ่นซอร์สสำหรับการเรียกใช้คอนเทนเนอร์และสร้างบริการคอนเทนเนอร์ส่วนตัว Rancher เป็นฐาน
ใช้ระบบที่แตกต่างกันอย่างไร นักเทียบท่าเป็นแอปพลิเคชั่นที่อนุญาตให้มีการปรับใช้ซอฟต์แวร์ภายในคอนเทนเนอร์เสมือน มันถูกเขียนในโปรแกรม Go
ใช้ระบบที่แตกต่างกันอย่างไร เกริ่นนำ Rancher เป็นแพลตฟอร์มโอเพ่นซอร์สสำหรับการเรียกใช้คอนเทนเนอร์และสร้างบริการคอนเทนเนอร์ส่วนตัว Rancher เป็นฐาน
คอนเทนเนอร์ LXC (คอนเทนเนอร์ Linux) เป็นคุณลักษณะของระบบปฏิบัติการใน Linux ที่สามารถใช้เพื่อเรียกใช้ระบบ Linux ที่แยกได้หลายตัวในโฮสต์เดียว thes
ใช้ระบบที่แตกต่างกันอย่างไร บทนำ Docker Swarm เปลี่ยนเซิร์ฟเวอร์ส่วนบุคคลของคุณให้กลายเป็นคลัสเตอร์ของคอมพิวเตอร์ อำนวยความสะดวกในการปรับขนาดความพร้อมใช้งานสูง
ด้วยความช่วยเหลือของแอปพลิเคชัน Vultr Docker คุณสามารถปรับใช้ Docker ในอินสแตนซ์ของเซิร์ฟเวอร์ Vultr ของคุณได้อย่างง่ายดาย ในขณะเดียวกันคุณสามารถอำนวยความสะดวกในการจัดการงานนักเทียบท่า
บทความนี้จะอธิบายวิธีการติดตั้งนักเทียบท่าบน CoreOS ใน CoreOS นั้นโฟลเดอร์ / usr / จะไม่เปลี่ยนรูปดังนั้นเส้นทาง / usr / local / bin ไม่พร้อมใช้งานสำหรับ
ใช้ระบบที่แตกต่างกันอย่างไร เกริ่นนำ Sentry เป็นโซลูชั่นโอเพ่นซอร์สสำหรับการติดตามข้อผิดพลาด ยามติดตามข้อยกเว้นและข้อความที่เป็นประโยชน์อื่น ๆ ไปๆมาๆ
ภาพรวมบทความนี้มีไว้เพื่อช่วยให้คุณได้รับคลัสเตอร์ Kubernetes และทำงานกับ kubeadm ในเวลาไม่นาน คู่มือนี้จะปรับใช้เซิร์ฟเวอร์สองเครื่องในวันที่
ภาพรวม RancherOS เป็นระบบปฏิบัติการที่มีน้ำหนักเบาอย่างไม่น่าเชื่อ (เพียงประมาณ 60 MB) ที่เรียกใช้ระบบ Docker daemon เป็น PID 0 สำหรับการเรียกใช้บริการระบบ
ใช้ระบบที่แตกต่างกันอย่างไร บทนำ Docker Swarm เปลี่ยนเซิร์ฟเวอร์ส่วนบุคคลของคุณให้กลายเป็นคลัสเตอร์ของคอมพิวเตอร์ช่วยอำนวยความสะดวกในการปรับขนาด
บทช่วยสอนนี้อธิบายพื้นฐานของการเริ่มต้นใช้งาน Docker ฉันคิดว่าคุณได้ติดตั้ง Docker แล้ว ขั้นตอนในบทช่วยสอนนี้จะใช้กับ
เมื่อใช้งานเว็บแอพพลิเคชั่นโดยปกติคุณต้องการใช้ทรัพยากรให้เกิดประโยชน์สูงสุดโดยไม่ต้องแปลงซอฟต์แวร์ของคุณให้ใช้มัลติเธรด
บทนำคู่มือนี้จะแสดงวิธีสร้างและกำหนดค่า Docker Swarm โดยใช้เซิร์ฟเวอร์ Alpine Linux 3.9.0 และ Portainer หลายตัว โปรดระวังด้วย
ข้อกำหนดเบื้องต้นเอ็นจิ้น Docker 1.8+ พื้นที่ดิสก์ขั้นต่ำ 4GB RAM ขั้นต่ำ 4GB ขั้นตอนที่ 1 ติดตั้ง Docker เพื่อติดตั้ง SQL-Server, Docker mus
ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน
การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane
ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+
อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ
เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม
13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data
คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true
ในขณะที่วิทยาศาสตร์มีวิวัฒนาการไปอย่างรวดเร็ว โดยรับช่วงต่อความพยายามของเราอย่างมาก ความเสี่ยงในการทำให้ตัวเองตกอยู่ในภาวะภาวะเอกฐานที่อธิบายไม่ได้ก็เพิ่มขึ้นเช่นกัน อ่านว่าภาวะเอกฐานอาจมีความหมายสำหรับเราอย่างไร
ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1
AI ในการดูแลสุขภาพได้ก้าวกระโดดอย่างมากจากทศวรรษที่ผ่านมา ดังนั้นอนาคตของ AI ในการดูแลสุขภาพจึงยังคงเติบโตทุกวัน