Docker Container คืออะไร? - บรรจุแอปพลิเคชันของคุณโดยใช้ Docker



Docker Container เป็นโซลูชันทางเลือกที่มีน้ำหนักเบาสำหรับ Virtual Machine เพื่อสร้างปรับใช้และเรียกใช้แอปพลิเคชันภายในคอนเทนเนอร์

ฉันหวังว่าคุณจะได้อ่านบล็อกก่อนหน้านี้ นักเทียบท่า โดยที่ฉันได้กล่าวถึงพื้นฐานของ Docker ในบล็อก Docker Container นี้ฉันจะพูดคุยเกี่ยวกับ Docker Containers คืออะไรและทำงานอย่างไร ส่วนใหญ่เราจะเน้นไปที่ Hands-on และ use-case ของ Docker

ฉันได้ระบุหัวข้อสำหรับบล็อก Docker Container ไว้แล้ว:





  • ทำไมเราต้องใช้ Docker Containers?
  • Docker Containers ทำงานอย่างไร
  • การใช้งานของ Docker Container

ทำไมเราต้องใช้ Docker Containers?

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

แนวคิดเบื้องหลังไมโครเซอร์วิสคือแอปพลิเคชันบางประเภทสามารถสร้างและบำรุงรักษาได้ง่ายขึ้นเมื่อแยกย่อยออกเป็นชิ้นเล็ก ๆ ที่ประกอบได้ซึ่งทำงานร่วมกันได้ ส่วนประกอบแต่ละชิ้นได้รับการพัฒนาแยกจากกันและแอปพลิเคชันจะเป็นเพียงผลรวมของส่วนประกอบที่เป็นส่วนประกอบ



ลองพิจารณาตัวอย่างด้านล่าง:

แอพซื้อของออนไลน์ - Docker Container - Edureka

ในแผนภาพด้านบนมีร้านค้าออนไลน์ที่มีไมโครเซอร์วิสแยกต่างหากสำหรับบัญชีผู้ใช้แคตตาล็อกผลิตภัณฑ์การประมวลผลคำสั่งซื้อและตะกร้าสินค้า



สถาปัตยกรรมนี้มีประโยชน์มากมาย:

สตริงย่อยใน java คืออะไร
  • แม้ว่าไมโครเซอร์วิสของคุณจะล้มเหลว แต่แอปพลิเคชันทั้งหมดของคุณจะไม่ได้รับผลกระทบใด ๆ
  • มันง่ายกว่าในการจัดการ

มีประโยชน์อื่น ๆ อีกมากมายเช่นกันฉันจะไม่ลงรายละเอียดเกี่ยวกับไมโครเซอร์วิสในโพสต์นี้มากนัก แต่เร็ว ๆ นี้ฉันจะมาพร้อมกับบล็อกสองสามบริการเกี่ยวกับไมโครเซอร์วิสเช่นกัน

ในสถาปัตยกรรมนี้เราใช้ CentOS Virtual Machines เครื่องเสมือนเหล่านั้นได้รับการกำหนดค่าโดยการเขียนสคริปต์แบบยาว การกำหนดค่า VMs เหล่านั้นไม่ใช่ปัญหาเดียว

การพัฒนาแอปพลิเคชันดังกล่าวจำเป็นต้องเริ่มต้นไมโครเซอร์วิสหลาย ๆ ตัวในเครื่องเดียว ดังนั้นหากคุณกำลังเริ่มบริการห้ารายการคุณต้องใช้ VM ห้ารายการบนเครื่องนั้น พิจารณาแผนภาพด้านล่าง:

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

มีปัญหาอื่น ๆ อีกมากมายนอกเหนือจากนี้เช่นกัน แต่ฉันรู้สึกว่าปัญหาเหล่านี้เพียงพอสำหรับฉันที่จะอธิบายความต้องการของ Docker Containers

เรียนรู้ว่า Docker Containers ดีกว่าเครื่องเสมือนอย่างไร

ลองนึกดูว่าถ้าฉันให้ RAM 8 GB กับ VM ทั้งหมดของฉันและฉันมีไมโครเซอร์วิส 5 ตัวที่ทำงานบน Virtual Machines ที่แตกต่างกัน ในกรณีนั้น VM เหล่านี้จะต้องใช้ RAM 40 GB ตอนนี้ฉันต้องการการกำหนดค่าของเครื่องโฮสต์ของฉันให้สูงมากควรมี RAM เกือบ 44 GB ในเครื่องโฮสต์ของฉัน เห็นได้ชัดว่านี่ไม่ใช่วิธีแก้ปัญหาที่ยั่งยืนสำหรับสถาปัตยกรรมดังกล่าวเพราะฉันเสียทรัพยากรไปมากที่นี่

ดีฉันมีทรัพยากรมากมายที่จะสิ้นเปลือง แต่ฉันก็ยังมีปัญหาเรื่องความไม่สอดคล้องกันในวงจรชีวิตการส่งมอบซอฟต์แวร์ (SDLC) ของฉัน ฉันต้องกำหนดค่า VM เหล่านี้ในการทดสอบและในสภาพแวดล้อม prod บางแห่งในกระบวนการนั้นซอฟต์แวร์บางตัวไม่ได้รับการอัปเดตในเซิร์ฟเวอร์ทดสอบและทีม Dev กำลังใช้ซอฟต์แวร์เวอร์ชันที่อัปเดต สิ่งนี้นำไปสู่ความขัดแย้ง

จะเกิดอะไรขึ้นถ้าฉันใช้ 100 VM การกำหนดค่าแต่ละ VM จะใช้เวลานานและในเวลาเดียวกันก็มีแนวโน้มที่จะเกิดข้อผิดพลาดเช่นกัน

ตอนนี้ให้เราเข้าใจว่า Docker Container คืออะไรและทำงานอย่างไรและจะแก้ปัญหาของฉันได้อย่างไร

Docker Container คืออะไร?

Docker เป็นเครื่องมือที่ออกแบบมาเพื่อให้ง่ายต่อการสร้างปรับใช้และเรียกใช้แอปพลิเคชันโดยใช้คอนเทนเนอร์

คุณสามารถสร้าง Docker Containers ได้คอนเทนเนอร์เหล่านี้จะมีไบนารีและไลบรารีทั้งหมดที่จำเป็นสำหรับแอปพลิเคชันหรือไมโครเซอร์วิสของคุณในกรณีของฉัน ดังนั้นแอปพลิเคชันของคุณจึงอยู่ในคอนเทนเนอร์หรือคุณมีคอนเทนเนอร์แอปพลิเคชันของคุณ ตอนนี้คอนเทนเนอร์เดียวกันนั้นสามารถใช้ได้ในสภาพแวดล้อม Test และ Prod

Docker Containers เป็นโซลูชันที่มีน้ำหนักเบาสำหรับ Virtual Machines และใช้โฮสต์ OS ส่วนที่ดีที่สุดคือคุณไม่จำเป็นต้องจัดสรร RAM ให้กับ Docker Container ล่วงหน้า แต่จะใช้เวลาเท่าที่จำเป็น ดังนั้นด้วย Docker Container ฉันจึงไม่ต้องกังวลกับการสิ้นเปลืองทรัพยากร

ตอนนี้เรามาทำความเข้าใจกันว่า Docker Container ทำงานอย่างไร

Docker Container ทำงานอย่างไร

แผนภาพด้านล่างเป็นวิธีการใช้ Docker และฉันสมมติว่าคุณมีความคิดเกี่ยวกับ Docker Image และ Dockerfile

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

  • นักพัฒนาซอฟต์แวร์จะเขียนโค้ดโปรเจ็กต์ในไฟล์ Docker ก่อนแล้วจึงสร้างอิมเมจจากไฟล์นั้น
  • ภาพนี้จะมีรหัสโครงการทั้งหมด
  • ตอนนี้คุณสามารถเรียกใช้ Docker Image นี้เพื่อสร้างคอนเทนเนอร์ได้มากเท่าที่คุณต้องการ
  • Docker Image นี้สามารถอัปโหลดบน Docker hub ได้ (โดยพื้นฐานแล้วเป็นที่เก็บบนคลาวด์สำหรับ Docker Images ของคุณคุณสามารถเก็บไว้เป็นสาธารณะหรือส่วนตัวได้)
  • อิมเมจ Docker นี้บนฮับ Docker สามารถดึงได้โดยทีมอื่น ๆ เช่น QA หรือ Prod

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

นี่เป็นวิธีหนึ่งที่จะใช้ฉันเดาว่าพวกคุณต้องอยากรู้ว่าฉันใช้ Docker เพื่อแก้ปัญหาไมโครเซอร์วิสของฉันได้อย่างไร ฉันขอให้คุณเห็นภาพรวมในเรื่องเดียวกัน

ด้านล่างนี้คือคำอธิบายของแผนภาพ:

  • ประการแรกเราเขียนข้อกำหนดที่ซับซ้อนภายใน Dockerfile
  • จากนั้นเราผลักดันมันบน GitHub
  • หลังจากนั้นเราใช้เซิร์ฟเวอร์ CI (Jenkins)
  • เซิร์ฟเวอร์ Jenkins นี้จะดึงออกจาก Git และสร้างสภาพแวดล้อมที่แน่นอน สิ่งนี้จะถูกใช้ในเซิร์ฟเวอร์การผลิตและในเซิร์ฟเวอร์ทดสอบ
  • เราปรับใช้กับการจัดเตรียม (หมายถึงการปรับใช้ซอฟต์แวร์ของคุณบนเซิร์ฟเวอร์เพื่อวัตถุประสงค์ในการทดสอบก่อนที่จะนำไปใช้งานจริงอย่างสมบูรณ์) สำหรับผู้ทดสอบ
  • โดยพื้นฐานแล้วเรานำสิ่งที่เรามีในการพัฒนาการทดสอบและการจัดเตรียมมาใช้ในการผลิต

มันจะยุติธรรมจริงๆที่จะพูดอย่างนั้น Docker ทำให้ชีวิตของฉันง่ายขึ้น

นั่นคือเรื่องราวของ บริษัท ของฉันมาดูกรณีศึกษาของมหาวิทยาลัยอินเดียนา นักเทียบท่าแก้ปัญหาอย่างไร

กรณีศึกษาของมหาวิทยาลัยอินเดียนา:

Indiana University เป็นระบบมหาวิทยาลัยของรัฐแบบหลายวิทยาเขตในรัฐอินเดียนาสหรัฐอเมริกา

คำชี้แจงปัญหา

พวกเขาใช้สคริปต์ที่กำหนดเองเพื่อปรับใช้แอปพลิเคชันใน VM

สภาพแวดล้อมของพวกเขาได้รับการปรับให้เหมาะสมสำหรับแอปพลิเคชันที่ใช้ Java ดั้งเดิม สภาพแวดล้อมที่เติบโตขึ้นเกี่ยวข้องกับผลิตภัณฑ์ใหม่ที่ไม่ได้ใช้ Java เพียงอย่างเดียว เพื่อให้นักศึกษาได้รับประสบการณ์ที่ดีที่สุดมหาวิทยาลัยจำเป็นต้องเริ่มปรับปรุงแอปพลิเคชันให้ทันสมัย

มหาวิทยาลัยต้องการปรับปรุงวิธีการออกแบบแอปพลิเคชันโดยเปลี่ยนไปใช้สถาปัตยกรรมที่ใช้ไมโครเซอร์วิสสำหรับแอปพลิเคชันของตน

จำเป็นต้องมีการรักษาความปลอดภัยสำหรับข้อมูลของนักเรียนเช่น SSN และข้อมูลสุขภาพของนักเรียน

สารละลาย:

ปัญหาทั้งหมดได้รับการแก้ไขโดย Docker Data Center (DDC) โปรดพิจารณาแผนภาพด้านล่าง:

Docker Trusted Registry - จัดเก็บ Docker Images

UCP (Universal Control Plane) เว็บ UI - ช่วยในการจัดการคลัสเตอร์ทั้งหมดจากที่เดียว บริการถูกปรับใช้โดยใช้ UCP web UI โดยใช้อิมเมจ Docker ที่เก็บไว้ใน DTR (Docker Trusted Registry)

ทีมงานฝ่ายไอทีใช้ประโยชน์จาก Universal Control Plane เพื่อจัดเตรียมซอฟต์แวร์ที่ติดตั้ง Docker บนโฮสต์จากนั้นปรับใช้แอปพลิเคชันของตนโดยไม่ต้องทำตามขั้นตอนด้วยตนเองเพื่อตั้งค่าโครงสร้างพื้นฐานทั้งหมด

UCP และ DTR ทำงานร่วมกับเซิร์ฟเวอร์ LDAP เพื่อจัดเตรียมการเข้าถึงแอปพลิเคชันของตนอย่างรวดเร็ว

ฉันหวังว่าพวกคุณจะได้อ่านบล็อกก่อนหน้านี้เพื่อเรียนรู้พื้นฐานของ Docker

ตอนนี้ฉันจะอธิบายให้คุณทราบว่าเราจะใช้ Docker Compose สำหรับแอปพลิเคชันหลายคอนเทนเนอร์ได้อย่างไร

นักเทียบท่า Hands-On:

ฉันสมมติว่าคุณติดตั้ง Docker แล้ว.ฉันจะใช้ Docker Compose ในโพสต์นี้ด้านล่างฉันได้แนะนำเล็กน้อยเกี่ยวกับ Docker Compose

นักเทียบท่าเขียน: เป็นเครื่องมือสำหรับกำหนดและเรียกใช้แอพพลิเคชั่น Docker แบบหลายคอนเทนเนอร์ ด้วย Docker Compose คุณสามารถใช้ไฟล์ Compose เพื่อกำหนดค่าบริการของแอปพลิเคชันของคุณ จากนั้นใช้คำสั่งเดียวคุณสามารถสร้างและเริ่มบริการทั้งหมดจากการกำหนดค่าของคุณ

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

ตัวอย่าง: ลองนึกภาพว่าคุณมีคอนเทนเนอร์ที่แตกต่างกันโดยหนึ่งใช้งานเว็บแอปอีกรายการหนึ่งเรียกใช้ postgres และอีกรายการหนึ่งที่กำลังรันอยู่ในไฟล์ YAML ที่เรียกว่า docker compose file จากที่นั่นคุณสามารถรันคอนเทนเนอร์เหล่านี้ด้วยคำสั่งเดียว

ให้เราดูอีกตัวอย่างหนึ่ง:

สมมติว่าคุณต้องการเผยแพร่บล็อกเพราะคุณจะใช้ CMS (ระบบจัดการเนื้อหา) และ wordpress เป็น CMS ที่ใช้กันอย่างแพร่หลาย โดยพื้นฐานแล้วคุณต้องมีคอนเทนเนอร์หนึ่งอันสำหรับ WordPress และคุณต้องการอีกหนึ่งคอนเทนเนอร์เป็น MySQL สำหรับแบ็คเอนด์คอนเทนเนอร์ MySQL นั้นควรเชื่อมโยงกับคอนเทนเนอร์ wordpress นอกจากนี้เรายังต้องการอีกหนึ่งคอนเทนเนอร์สำหรับ Php Myadmin ที่จะเชื่อมโยงกับฐานข้อมูล MySQL โดยทั่วไปจะใช้เพื่อเข้าถึงฐานข้อมูล MySQL

ฉันจะดำเนินการตามตัวอย่างที่ระบุไว้ข้างต้นได้อย่างไร

ขั้นตอนที่เกี่ยวข้อง:

  1. ติดตั้ง Docker Compose :
  2. ติดตั้ง WordPress: เราจะใช้อย่างเป็นทางการ WordPress และ MariaDB รูปภาพ Docker
  3. ติดตั้ง MariaDB: เป็นหนึ่งในเซิร์ฟเวอร์ฐานข้อมูลที่ได้รับความนิยมมากที่สุดในโลก สร้างโดยนักพัฒนาดั้งเดิมของ MySQL MariaDB ได้รับการพัฒนาเป็นซอฟต์แวร์โอเพ่นซอร์สและเป็นฐานข้อมูลเชิงสัมพันธ์ซึ่งมีอินเทอร์เฟซ SQL สำหรับการเข้าถึงข้อมูล
  4. ติดตั้ง PhpMyAdmin: เป็นเครื่องมือซอฟต์แวร์ฟรีที่เขียนด้วย PHP ซึ่งมีไว้เพื่อจัดการกับการดูแลระบบ MySQL ผ่านเว็บ
  5. สร้างเว็บไซต์ WordPress:

มาเริ่มกันเลย!

ติดตั้ง Docker Compose:

ติดตั้ง Python Pip ก่อน:

sudo apt-get ติดตั้ง python-pip

ตอนนี้คุณสามารถติดตั้ง Docker Compose:

sudo pip ติดตั้ง docker-compose

ติดตั้ง WordPress:

สร้างไดเร็กทอรี wordpress:

mkdir wordpress

ป้อนไดเรกทอรี wordpress นี้:

ซีดี wordpress /

ในไดเร็กทอรีนี้ให้สร้างไฟล์ Docker Compose YAML จากนั้นแก้ไขโดยใช้ gedit:

วิธีตั้งค่า classpath ใน java ใน windows 10
sudo gedit นักเทียบท่า - compose.yml

วางบรรทัดด้านล่างของรหัสในไฟล์ yaml นั้น:

wordpress: image: ลิงก์ wordpress: - wordpress_db: mysql ports: - 8080: 80 wordpress_db: image: mariadb environment: MYSQL_ROOT_PASSWORD: edureka phpmyadmin: image: corbinu / docker-phpmyadmin links: - wordpress_db: mysql ports environment: - 8181: mysql MYSQL_USERNAME: root MYSQL_ROOT_PASSWORD: edureka

ฉันรู้ว่าคุณต้องการให้ฉันอธิบายรหัสนี้ดังนั้นสิ่งที่ฉันจะทำฉันจะนำส่วนเล็ก ๆ ของรหัสนี้มาอธิบายให้คุณทราบว่าเกิดอะไรขึ้น

wordpress_db: ... สภาพแวดล้อม: MYSQL_ROOT_PASSWORD: edureka ...

สิ่งนี้จะตั้งค่าตัวแปรสภาพแวดล้อมภายในคอนเทนเนอร์ wordpress_db ชื่อ MYSQL_ROOT_PASSWORD ด้วยรหัสผ่านที่คุณต้องการ อิมเมจ MariaDB Docker ได้รับการกำหนดค่าให้ตรวจสอบตัวแปรสภาพแวดล้อมนี้เมื่อเริ่มต้นและจะดูแลการตั้งค่าฐานข้อมูลด้วยบัญชีรูทด้วยรหัสผ่านที่กำหนดเป็น MYSQL_ROOT_PASSWORD

wordpress: ... พอร์ต: - 8080: 80 ...

หมายเลขพอร์ตแรกคือหมายเลขพอร์ตบนโฮสต์และหมายเลขพอร์ตที่สองคือพอร์ตภายในคอนเทนเนอร์ ดังนั้นการกำหนดค่านี้จะส่งต่อคำขอบนพอร์ต 8080 ของโฮสต์ไปยังเว็บเซิร์ฟเวอร์เริ่มต้นพอร์ต 80 ภายในคอนเทนเนอร์

phpmyadmin: image: corbinu / docker-phpmyadmin ลิงค์: - wordpress_db: mysql ports: - 8181: 80 environment: MYSQL_USERNAME: root MYSQL_ROOT_PASSWORD: edureka

สิ่งนี้คว้า docker-phpmyadmin โดยสมาชิกชุมชน corbinu เชื่อมโยงกับคอนเทนเนอร์ wordpress_db ของเราด้วยชื่อ mysql (หมายถึงจากภายในคอนเทนเนอร์ phpmyadmin การอ้างอิงถึงชื่อโฮสต์ mysql จะถูกส่งต่อไปยังคอนเทนเนอร์ wordpress_db ของเรา) แสดงพอร์ต 80 บนพอร์ต 8181 ของ ระบบโฮสต์และสุดท้ายตั้งค่าตัวแปรสภาพแวดล้อมสองสามตัวด้วยชื่อผู้ใช้และรหัสผ่าน MariaDB ของเรา ภาพนี้ไม่ได้ดึงตัวแปรสภาพแวดล้อม MYSQL_ROOT_PASSWORD โดยอัตโนมัติจากสภาพแวดล้อมของ wordpress_dbcontainer แบบเดียวกับที่อิมเมจของ wordpress ทำ เราต้องคัดลอกบรรทัด MYSQL_ROOT_PASSWORD: edureka จากคอนเทนเนอร์ wordpress_db และตั้งชื่อผู้ใช้เป็น root

ตอนนี้เริ่มกลุ่มแอปพลิเคชัน:

นักเทียบท่าเขียนขึ้น -d

นั่นคือทั้งหมดที่คุณต้องทำ คุณสามารถเพิ่มคอนเทนเนอร์ได้มากเท่าที่คุณต้องการด้วยวิธีนี้และเชื่อมโยงทั้งหมดด้วยวิธีใดก็ได้ที่คุณต้องการ

ตอนนี้ในเบราว์เซอร์ไปที่พอร์ต 8080 โดยใช้ IP สาธารณะหรือชื่อโฮสต์ดังที่แสดงด้านล่าง:

localhost: 8080

กรอกแบบฟอร์มนี้แล้วคลิกติดตั้ง WordPress

เมื่อดำเนินการเสร็จแล้วให้ไปที่ที่อยู่ IP ของเซิร์ฟเวอร์ของคุณอีกครั้ง (คราวนี้ใช้พอร์ต 8181 เช่น localhost: 8181) คุณจะได้รับการต้อนรับจากหน้าจอเข้าสู่ระบบ phpMyAdmin:

เข้าสู่ระบบโดยใช้รูทชื่อผู้ใช้และรหัสผ่านที่คุณตั้งไว้ในไฟล์ YAML และคุณจะสามารถเรียกดูฐานข้อมูลของคุณได้ คุณจะสังเกตเห็นว่าเซิร์ฟเวอร์มีฐานข้อมูล wordpress ซึ่งมีข้อมูลทั้งหมดจากการติดตั้ง WordPress ของคุณ

ที่นี่ฉันจบบล็อก Docker Container ฉันหวังว่าคุณจะสนุกกับโพสต์นี้ คุณสามารถตรวจสอบ บล็อกอื่น ๆ ในซีรีส์ด้วยซึ่งเกี่ยวข้องกับพื้นฐานของ Docker

หากคุณพบว่าบล็อก Docker Container นี้เกี่ยวข้องโปรดดูที่ไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ซึ่งมีเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก หลักสูตรการฝึกอบรมการรับรอง Edureka DevOps ช่วยให้ผู้เรียนมีความเชี่ยวชาญในกระบวนการและเครื่องมือต่างๆของ DevOps เช่น Puppet, Jenkins, Docker, Nagios, Ansible, Chef, Saltstack และ GIT สำหรับการทำหลายขั้นตอนใน SDLC โดยอัตโนมัติ

มีคำถามสำหรับฉัน? โปรดระบุไว้ในส่วนความคิดเห็นแล้วเราจะติดต่อกลับไป