Android

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

Docker Compose Tutorial - Docker in Practice || Docker Tutorial 9

Docker Compose Tutorial - Docker in Practice || Docker Tutorial 9

สารบัญ:

Anonim

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

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

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

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

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

  • ลงชื่อเข้าใช้ด้วยชื่อผู้ใช้ด้วยสิทธิ์ sudo ติดตั้งลงในเครื่อง Debian 9 ของคุณ

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

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

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

ทำตามขั้นตอนต่อไปนี้เพื่อติดตั้ง Docker Compose เวอร์ชั่นล่าสุดบน Debian 9:

  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

    ตรวจสอบการติดตั้งโดยพิมพ์:

    docker-compose --version

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

    docker-compose version 1.23.1, build b02f1306

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

ในส่วนนี้เราจะแสดงวิธีใช้ Docker Compose เพื่อจัดการ WordPress stack บนเครื่อง Debian 9 ของคุณ

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

mkdir wordpress_app cd wordpress_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_70f2f980e1fb | AH00163: Apache/2.4.25 (Debian) PHP/7.2.12 configured -- resuming normal operations wordpress_1_70f2f980e1fb | 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 ---------------------------------------------------------------------------------- wordpress_app_db_1 docker-entrypoint.sh mysqld Up 3306/tcp, 33060/tcp wordpress_app_wordpress_1 docker-entrypoint.sh apach… Up 0.0.0.0:8080->80/tcp

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

docker-compose stop

docker-compose down

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

docker-compose down --volumes

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

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

ข้อสรุป

คุณได้เรียนรู้วิธีการติดตั้งและใช้ Docker Compose บน Debian 9 หากคุณมีคำถามใด ๆ โปรดแสดงความคิดเห็นด้านล่าง

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