Android

วิธีการติดตั้งและใช้งานนักเทียบท่าเขียนบน centos 7

Docker-compose tutorial

Docker-compose tutorial

สารบัญ:

Anonim

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

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

การเขียนสามารถใช้เพื่อวัตถุประสงค์ที่แตกต่างกันเช่นการปรับใช้แอปพลิเคชันโฮสต์เดียวการทดสอบอัตโนมัติและการพัฒนาท้องถิ่น

บทช่วยสอนนี้จะแนะนำคุณเกี่ยวกับการติดตั้ง Docker Compose เวอร์ชั่นล่าสุดบน CentOS 7 นอกจากนี้เรายังจะครอบคลุมแนวคิดและคำสั่งพื้นฐานของ Docker Compose

ข้อกำหนดเบื้องต้น

ตรวจสอบให้แน่ใจว่าคุณปฏิบัติตามข้อกำหนดเบื้องต้นต่อไปนี้ก่อนที่จะดำเนินการกับบทช่วยสอนนี้:

  • ล็อกอินด้วยผู้ใช้ที่มีสิทธิ์ sudo ติดตั้ง Docker บนระบบ CentOS 7 ของคุณ

ติดตั้ง Docker Compose บน CentOS

วิธีที่แนะนำสำหรับการติดตั้ง Docker Compose บน CentOS 7 คือการดาวน์โหลด Compose binary จากที่เก็บ GitHub ของ Docker

ในขณะที่เขียนบทความนี้ Docker Compose รุ่นเสถียรล่าสุดคือเวอร์ชั่น 1.23.1 ก่อนที่จะดาวน์โหลด Compose binary เข้าไปที่หน้าการวางระบบ Compose บน GitHub และตรวจสอบว่ามีเวอร์ชั่นใหม่ให้ดาวน์โหลดหรือไม่

ทำขั้นตอนต่อไปนี้เพื่อติดตั้ง Docker Compose บน CentOS 7:

  1. เริ่มต้นด้วยการดาวน์โหลด Docker Compose ไบนารีลงในไดเร็กทอรี /usr/local/bin โดยใช้คำสั่ง curl ต่อไปนี้:

    sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

    เมื่อการดาวน์โหลดเสร็จสิ้นให้ทำการปฏิบัติการแบบไบนารีโดยพิมพ์:

    sudo chmod +x /usr/local/bin/docker-compose

    ในการตรวจสอบการติดตั้งให้พิมพ์คำสั่งต่อไปนี้เพื่อพิมพ์ Compose version:

    docker-compose --version

    ผลลัพธ์จะมีลักษณะดังนี้:

    docker-compose version 1.23.1, build b02f1306

เริ่มต้นใช้งาน Docker Compose

ในส่วนนี้เราจะแสดงวิธีใช้ Docker Compose เพื่อใช้งานสแต็ก WordPress บนเครื่อง CentOS 7 ของคุณ

เริ่มต้นด้วยการสร้างไดเรกทอรีใหม่สำหรับโครงการและเข้าไปในนั้น:

mkdir my_app && cd my_app

ถัดไปสร้างไฟล์ชื่อ docker-compose.yml ภายในไดเรกทอรีโครงการ:

nano docker-compose.yml

วางเนื้อหาต่อไปนี้:

นักเทียบท่า-compose.yml

version: '3.3' services: db: image: mysql:5.7 restart: always volumes: - db_data:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: password MYSQL_DATABASE: wordpress wordpress: image: wordpress restart: always volumes: -./wp_data:/var/www/html ports: - "8080:80" environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_NAME: wordpress WORDPRESS_DB_USER: root WORDPRESS_DB_PASSWORD: password depends_on: - db volumes: db_data: wp_data:

ลองวิเคราะห์โค้ดทีละบรรทัด

บรรทัดแรกระบุเวอร์ชันไฟล์เขียน มีรูปแบบไฟล์ Compose หลายรุ่นหลายรุ่นพร้อมการรองรับ Docker เฉพาะรุ่น

ต่อไปเราจะกำหนดบริการสองรายการคือ db และ wordpress แต่ละบริการจะเรียกใช้หนึ่งอิมเมจและมันจะสร้างที่เก็บแยกต่างหากเมื่อมีการเรียกใช้งานนักเทียบท่า

บริการ db :

  • ใช้ mysql:5.7 อิมเมจ หากไม่มีอิมเมจในระบบของคุณ Compose จะดึงออกจากที่เก็บข้อมูลสาธารณะ Docker Hub ใช้นโยบายการรีสตาร์ท always ซึ่งจะสั่งให้คอนเทนเนอร์รีสตาร์ทใหม่สร้างวอลุ่มที่มีชื่อ db_data เพื่อสร้างฐานข้อมูลถาวรกำหนดตัวแปรสภาพแวดล้อมสำหรับ mysql:5.7 ภาพ

บริการ wordpress :

  • ใช้ภาพ wordpress หากไม่มีอิมเมจในระบบของคุณ Compose จะดึงมันออกจากที่เก็บข้อมูลสาธารณะ Docker Hub ใช้นโยบายการรีสตาร์ท always ซึ่งจะแนะนำให้คอนเทนเนอร์เริ่มต้นใหม่ always wp_data ไดเรกทอรี wp_data บนโฮสต์ไปยัง /var/lib/mysql ภายใน คอนเทนเนอร์ส่งต่อพอร์ต 80 ที่เปิดเผยบนคอนเทนเนอร์ไปยังพอร์ต 8080 บนเครื่องโฮสต์กำหนดตัวแปรสภาพแวดล้อมสำหรับอิมเมจ wordpress คำสั่ง depends_on กำหนดการพึ่งพาระหว่างสองบริการ ในตัวอย่างนี้ db จะเริ่มก่อน wordpress

จากไดเรกทอรีโครงการหมุนแอปพลิเคชัน WordPress โดยใช้คำสั่งต่อไปนี้:

docker-compose up

ผลลัพธ์ควรมีลักษณะดังนี้:

… wordpress_1 | AH00163: Apache/2.4.25 (Debian) PHP/7.2.10 configured -- resuming normal operations wordpress_1 | AH00094: Command line: 'apache2 -D FOREGROUND'

การเรียบเรียงจะดึงทั้งสองภาพเริ่มต้นสองคอนเทนเนอร์และสร้างไดเรกทอรี wp_data ในไดเรกทอรีโครงการของคุณ

เปิดเบราว์เซอร์ของคุณพิมพ์ http://0.0.0.0:8080/ ในและคุณจะเห็นหน้าจอการติดตั้ง Wordpress

ณ จุดนี้แอปพลิเคชั่น WordPress เปิดใช้งานและคุณสามารถเริ่มทำงานกับธีมหรือปลั๊กอินของคุณ

หากต้องการหยุดเขียนให้กด CTRL+C ตัวแปรสภาพแวดล้อมหากคุณต้องการเริ่มต้นเขียนในโหมดเดี่ยวใช้แฟ -d :

docker-compose up -d

ในการตรวจสอบบริการที่ทำงานอยู่ให้ใช้ตัวเลือก ps :

docker-compose ps

Name Command State Ports ---------------------------------------------------------------------------------- my_app_db_1 docker-entrypoint.sh mysqld Up 3306/tcp, 33060/tcp my_app_wordpress_1 docker-entrypoint.sh apach… Up 0.0.0.0:8080->80/tcp

เมื่อ Compose กำลังทำงานในโหมดแยกเดี่ยวเพื่อหยุดการใช้บริการ:

docker-compose stop

หากต้องการลบคอนเทนเนอร์ทั้งหมดให้ใช้ตัวเลือก down :

docker-compose down

ผ่านสวิตช์ - ปริมาณจะลบปริมาณข้อมูล:

docker-compose down --volumes

ถอนการติดตั้ง Docker Compose

sudo rm /usr/local/bin/docker-compose

ข้อสรุป

คุณได้เรียนรู้วิธีการติดตั้งและใช้งาน Docker Compose บน CentOS 7

นักเทียบท่า centos