วิธีสร้างอิมเมจ Docker ของคุณเองบน Linux

คุณเคยต้องการสร้างอิมเมจDocker ของคุณเองหรือไม่? ปรากฎว่าด้วยสิ่งที่เรียกว่า "Dockerfile" คุณสามารถทำได้ ในคู่มือนี้ เราจะพูดถึงวิธีสร้างอิมเมจ Docker ของคุณเอง

วิธีการติดตั้ง Docker บน Linux

คุณจะต้องติดตั้ง Docker บนเซิร์ฟเวอร์ Linux ก่อนพยายามสร้างอิมเมจใหม่ โชคดีที่นักเทียบท่านั้นติดตั้งง่ายบนระบบปฏิบัติการ Linux ที่หลากหลาย ในคู่มือนี้ เราจะมุ่งเน้นไปที่ Ubuntu, Debian , Arch Linux, Fedora และOpenSUSE

ในการติดตั้ง Docker ให้เปิดเทอร์มินัล เมื่อเปิดแล้ว การติดตั้งก็พร้อมที่จะเริ่ม ทำตามคำแนะนำในการติดตั้งที่ระบุด้านล่างซึ่งตรงกับระบบปฏิบัติการ Linux ที่คุณใช้

อูบุนตู/เดเบียน

คุณจะต้องอัปเดตดัชนีซอฟต์แวร์บนระบบ Ubuntu/Debian ก่อน ในการทำเช่นนั้น ให้รัน คำสั่ง apt updateด้านล่าง

อัปเดต sudo apt

คุณต้องติดตั้งแพ็คเกจการขนส่ง HTTPS เพื่อติดตั้งผ่าน HTTPS คุณจะต้องติดตั้ง Curl และแพ็คเกจอื่นๆ อีกสองสามแพ็คเกจด้วย แพ็คเกจเหล่านี้สามารถติดตั้งได้ด้วยคำสั่งapt install

sudo apt ติดตั้ง apt-transport-https ca-certificates curl software-properties-common

เมื่อติดตั้งแพ็คเกจแล้ว ก็ถึงเวลาเปิดใช้งานคีย์ Docker GPG บนระบบ Ubuntu/Debian ของคุณ คีย์นี้ช่วยให้แน่ใจว่าการติดตั้งแพ็คเกจบน Ubuntu นั้นปลอดภัย

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

เมื่อเปิดใช้งานคีย์ GPG ก็ถึงเวลาเปิดใช้งาน Docker repo ในการทำเช่นนี้ ให้รัน คำสั่ง echo ต่อไปนี้ ในเทอร์มินัล

echo "deb [arch=amd64 ลงนามโดย=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) เสถียร" | sudo ที /etc/apt/sources.list.d/docker.list > /dev/null

เมื่อคุณเปิดใช้งาน Docker repo แล้ว ให้รัน คำสั่ง apt update อีกครั้ง เพื่อรีเฟรชดัชนีซอฟต์แวร์

อัปเดต sudo apt

สุดท้าย คุณสามารถติดตั้งแพ็คเกจ Docker ที่คุณต้องการบน Ubuntu หรือ Debian

sudo apt ติดตั้ง docker-ce docker-ce-cli containerd.io

อาร์ชลินุกซ์

หากคุณใช้ Arch Linux คุณสามารถเรียกใช้ คำสั่ง pacman -Sและติดตั้งแพ็คเกจ "docker" เพื่อให้ Docker ทำงานบนระบบของคุณ

sudo pacman -S นักเทียบท่า

เมื่อติดตั้งแพ็คเกจ Docker บนระบบ Arch ให้รัน คำสั่ง systemctl ต่อไปนี้ เพื่อเปิดใช้งานซอฟต์แวร์

sudo systemctl เปิดใช้งานนักเทียบท่า sudo systemctl เริ่มนักเทียบท่า

เฟดอร่า

การทำให้ Docker ทำงานกับ Fedora นั้นค่อนข้างตรงไปตรงมา ในการเริ่มต้น ใช้ คำสั่ง dnf installเพื่อติดตั้งซอฟต์แวร์บนระบบของคุณ

sudo dnf ติดตั้งนักเทียบท่า

เมื่อติดตั้งแพ็คเกจบนระบบ Fedora ของคุณแล้ว ให้เปิดใช้งานด้วย systemd

sudo systemctl เปิดใช้งานนักเทียบท่า sudo systemctl เริ่มนักเทียบท่า

OpenSUSE

เพื่อให้ Docker ทำงานกับ OpenSUSE ได้ คุณต้องเพิ่ม Docker repo

sudo zypper addrepo https://download.docker.com/linux/opensuse/$(awk -F= '/^VERSION_ID/{print $2}' /etc/os-release)/x86_64/stable docker

ถัดไป รีเฟรช Zypper และติดตั้งซอฟต์แวร์

sudo zypper รีเฟรช

sudo zypper ติดตั้ง docker-ce

สุดท้าย เปิดใช้งาน Docker บนระบบของคุณด้วย systemd

sudo systemctl เปิดใช้งานนักเทียบท่า sudo systemctl เริ่มนักเทียบท่า

วิธีเลือกภาพฐานของคุณ

อิมเมจ Docker ทุกภาพที่ถ่ายจาก DockerHub สร้างขึ้นด้วยอิมเมจพื้นฐาน ดังนั้น คุณจะต้องเลือกอิมเมจพื้นฐานสำหรับคอนเทนเนอร์ Docker ของคุณ ในคู่มือนี้ เราจะใช้ Ubuntu เนื่องจากเป็นหนึ่งในระบบปฏิบัติการ Linux ที่ใช้งานร่วมกันได้มากที่สุด

ในคู่มือนี้ เราจะแสดงตัวอย่างวิธีสร้างอิมเมจ Drupal 10 ด้วย Ubuntu 22.04 อย่างไรก็ตาม คำแนะนำในการสร้างเหล่านี้สามารถนำไปใช้กับทุกสิ่งที่คุณต้องการสร้าง ตั้งแต่เว็บแอปไปจนถึงโปรแกรม Python เป็นต้น

ในการเริ่มต้น ให้เปิดตัวแก้ไขข้อความนาโนในเทอร์มินัล คุณจะใช้ Nano เพื่อสร้าง Dockerfile ของคุณเอง

nano -w ~/dockerfile

ภายในโปรแกรมแก้ไขข้อความ Nano ให้ป้อนรหัสต่อไปนี้เพื่อระบุว่าคุณต้องการใช้ Ubuntu หากต้องการรับ Ubuntu 22.04 ให้ระบุ หากคุณต้องการใช้ Ubuntu รุ่นอื่น สามารถดูข้อมูลได้ที่นี่

# Use the official Ubuntu base image
FROM ubuntu:22.04

วิธีการตั้งค่าไดเร็กทอรีการทำงาน

คุณต้องตั้งค่าไดเร็กทอรีการทำงานในคอนเทนเนอร์ Docker ของคุณ ไดเร็กทอรีการทำงานเป็นที่ที่แอปพลิเคชันถูกปรับใช้บน Ubuntu ในคอนเทนเนอร์ ในตัวอย่างนี้ เราจะทำงานกับ Drupal 10 Drupal เป็นเว็บแอปพลิเคชัน ดังนั้น เราจะต้องตั้งค่า WORKDIR เป็น /var/www/html/

ในโปรแกรมแก้ไขข้อความนาโน ให้กด ปุ่ม Enterเพื่อเว้นวรรค จากนั้นวางโค้ดต่อไปนี้

# Set the working directory in the container WORKDIR /var/www/html

วิธีติดตั้งการพึ่งพาโปรแกรม

แอปพลิเคชันที่คุณปรับใช้ในอิมเมจ Docker ของคุณจำเป็นต้องมีการขึ้นต่อกัน หากไม่ได้ติดตั้งการขึ้นต่อกันที่ถูกต้องลงในอิมเมจ มันจะไม่ทำงาน เรากำลังสร้างอิมเมจ Drupal 10 จาก Ubuntu 22.04 ดังนั้นเราต้องเพิ่มการอ้างอิง Drupal 10 ทั้งหมดลงในไฟล์

ในโปรแกรมแก้ไขข้อความนาโน ให้กด ปุ่ม Enterเพื่อเว้นวรรค จากนั้นวางโค้ดต่อไปนี้

# Install dependencies RUN apt-get update && apt-get install -y \ apache2 \ php \ libapache2-mod-php \ php-curl \ php-gd \ php-intl \ php-mbstring \ php-mysql \ php-pgsql \ php-xml \ php-zip \ unzip

วิธีคัดลอกรหัสโปรแกรม

ขั้นตอนต่อไปในกระบวนการคือการจัดเตรียมไฟล์ Docker ของคุณพร้อมรหัสโปรแกรม เราใช้ Drupal 10 เป็นตัวอย่างอีกครั้ง ดังนั้นเราต้องจัดเตรียม Dockerfile เพื่อดาวน์โหลดและแยก Drupal 10

ในโปรแกรมแก้ไขข้อความนาโน ให้กด ปุ่ม Enterเพื่อสร้างบรรทัดใหม่ จากนั้นเพิ่มรหัสต่อไปนี้เพื่อให้ Dockerfile ของคุณสามารถดาวน์โหลด Drupal 10 ได้

# Download and install Drupal RUN wget https://ftp.drupal.org/files/projects/drupal-10.2.tar.gz && \ tar -xvf drupal-10.2.tar.gz && \ mv drupal-10.2 .

วิธีเปิดเผยพอร์ต

ทุกครั้งที่คุณปรับใช้คอนเทนเนอร์ Docker คอนเทนเนอร์จะเข้าถึงพอร์ตต่างๆ ตัวอย่างเช่น หากคุณเรียกใช้คอนเทนเนอร์ Syncthing เริ่มต้น คอนเทนเนอร์จะเปิดเผยพอร์ต 8384 Nextcloud? พอร์ต 8080 และ 80 คอนเทนเนอร์ของคุณจำเป็นต้องเปิดเผยพอร์ตที่ถูกต้องเพื่อให้ทำงานได้อย่างถูกต้อง

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

# Expose the Drupal port EXPOSE 80

วิธีตั้งค่าคำสั่งเริ่มต้น

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

ในโปรแกรมแก้ไขข้อความนาโน ให้กดEnterเพื่อสร้างพื้นที่ใหม่ในไฟล์ จากนั้นวางโค้ดต่อไปนี้

# Start Apache in the foreground CMD ["apache2ctl", "-D", "FOREGROUND"]

เมื่อคุณเพิ่มโค้ดส่วนสุดท้ายนี้ลงในไฟล์แล้ว ให้บันทึกโดยกดCtrl + Oและออกจากโปรแกรมแก้ไขข้อความนาโนด้วยCtrl + X Dockerfile ควรมีลักษณะเหมือนรหัสด้านล่าง

หมายเหตุ: นี่เป็นตัวอย่าง Dockerfile คุณสามารถใช้ตัวอย่าง Drupal เป็นข้อมูลอ้างอิงเพื่อสร้างแอปพลิเคชันของคุณเองสำหรับแอปพลิเคชันที่คุณต้องการ

FROM ubuntu:22.04

# Set the working directory
WORKDIR /var/www/html

# Install dependencies
RUN apt-get update && apt-get install -y \
apache2 \
php \
libapache2-mod-php \
php-curl \
php-gd \
php-intl \
php-mbstring \
php-mysql \
php-pgsql \
php-xml \
php-zip \
unzip


# Download and install Drupal
RUN wget https://ftp.drupal.org/files/projects/drupal-10.2.tar.gz && \
tar -xvf drupal-10.2.tar.gz && \
mv drupal-10.2 .


# Expose the Drupal port
EXPOSE 80

# Start Apache in the foreground
CMD ["apache2ctl", "-D", "FOREGROUND"]

วิธีการสร้างภาพ

หากต้องการสร้างอิมเมจ Docker ใหม่ด้วย Dockerfile ที่คุณสร้างขึ้น ให้ป้อนคำสั่งสร้างนักเทียบ ท่าต่อไปนี้

sudo docker build -t my-docker-image

คำสั่งด้านบนจะสร้างอิมเมจ Docker ของคุณ

วิธีปรับใช้อิมเมจ

ในการปรับใช้อิมเมจใหม่ของคุณในคอนเทนเนอร์ คุณต้องใช้คำสั่งdocker run ตัวอย่างเช่น ในการรันอิมเมจ Drupal 10 Ubuntu ที่สร้างขึ้นใหม่บนพอร์ต 80 ให้ทำดังต่อไปนี้

sudo docker run -d --name my-drupal-container -p 80:80 my-docker-image

ฝากความเห็น

Fix Screen Tearing on Intel Graphics in Pardus Linux: A Result-Focused Guide

Fix Screen Tearing on Intel Graphics in Pardus Linux: A Result-Focused Guide

Fix Intel graphics screen tearing in Pardus Linux by checking X11 vs. Wayland, compositor settings, refresh rate, active Xorg driver, and TearFree only when appropriate.

วิธีการตั้งค่าไฟร์วอลล์ SLES 15 ด้วย firewall-cmd

วิธีการตั้งค่าไฟร์วอลล์ SLES 15 ด้วย firewall-cmd

กำหนดค่า firewalld บน SLES 15: ตรวจสอบโซน อนุญาตบริการหรือพอร์ต บันทึกกฎถาวร โหลดใหม่ได้อย่างปลอดภัย และตรวจสอบการเข้าถึง

คู่มือการตั้งค่าการอัปเดต SLES Live Patching: อัปเดตเคอร์เนลโดยไม่ต้องรีบูตเครื่อง

คู่มือการตั้งค่าการอัปเดต SLES Live Patching: อัปเดตเคอร์เนลโดยไม่ต้องรีบูตเครื่อง

เปิดใช้งานการแพตช์เคอร์เนลแบบเรียลไทม์บน SLES 15 SP7 ใช้การแก้ไขที่รองรับโดยไม่ต้องรีบูต ตรวจสอบแพตช์ที่ใช้งานอยู่ และทำความเข้าใจว่าเมื่อใดที่ยังจำเป็นต้องรีสตาร์ทเคอร์เนล

วิธีเปิดใช้งานโหมด FIPS บน SUSE Linux Enterprise Server 15

วิธีเปิดใช้งานโหมด FIPS บน SUSE Linux Enterprise Server 15

เปิดใช้งานโหมด FIPS บน SLES 15 โดยใช้ยูทิลิตี้การตั้งค่าที่ SUSE รองรับ รีบูตอย่างปลอดภัย ตรวจสอบสถานะเคอร์เนลและนโยบายการเข้ารหัส และตรวจสอบขีดจำกัดการรับรอง

วิธีการติดตั้ง Google Chrome บน Gooroom OS โดยไม่ละเมิดนโยบายความปลอดภัย

วิธีการติดตั้ง Google Chrome บน Gooroom OS โดยไม่ละเมิดนโยบายความปลอดภัย

ติดตั้ง Google Chrome บน Gooroom OS อย่างปลอดภัยด้วยแพ็กเกจ .deb อย่างเป็นทางการ, APT, การตรวจสอบนโยบาย, คำแนะนำในการอัปเดต และการแก้ไขสำหรับอุปกรณ์ที่ได้รับการจัดการ

วิธีการส่งออกบันทึกระบบ SLES ไปยังเซิร์ฟเวอร์ Syslog ระยะไกลอย่างปลอดภัย

วิธีการส่งออกบันทึกระบบ SLES ไปยังเซิร์ฟเวอร์ Syslog ระยะไกลอย่างปลอดภัย

ส่งต่อบันทึกระบบ SLES ไปยังเซิร์ฟเวอร์ syslog ระยะไกลอย่างปลอดภัยด้วย rsyslog, ใบรับรอง TLS, การตรวจสอบชื่อคู่ค้า, คิว, การตรวจสอบความถูกต้อง และการทดสอบ

การผสานรวม Active Directory กับ SSSD ใน SLES 15: คู่มือทีละขั้นตอน

การผสานรวม Active Directory กับ SSSD ใน SLES 15: คู่มือทีละขั้นตอน

เชื่อมต่อ SLES 15 เข้ากับ Active Directory ด้วย SSSD โดยใช้ YaST เตรียม DNS และเวลา กำหนดค่าการเข้าสู่ระบบโดเมน ตรวจสอบ Kerberos และเปรียบเทียบ SSSD, Winbind และ realmd

แก้ไขปัญหาไดรเวอร์ Wi-Fi Realtek RTL8821CE บน Pardus Linux

แก้ไขปัญหาไดรเวอร์ Wi-Fi Realtek RTL8821CE บน Pardus Linux

แก้ไขปัญหา Wi-Fi RTL8821CE บน Pardus Linux โดยตรวจสอบไดรเวอร์ rtw88 ในตัว เฟิร์มแวร์ Realtek คำสั่ง rfkill, NetworkManager และตัวเลือกการสำรองข้อมูลที่ปลอดภัย

แก้ไขปัญหา "ความล้มเหลวชั่วคราวในการแก้ไข DNS" ใน Debian 12 ด้วย systemd-resolved

แก้ไขปัญหา "ความล้มเหลวชั่วคราวในการแก้ไข DNS" ใน Debian 12 ด้วย systemd-resolved

วินิจฉัยและแก้ไขปัญหาการแก้ไขชื่อโดเมน (DNS resolution) บน Debian 12 ที่ใช้ systemd-resolved รวมถึง resolv.conf, NetworkManager, networkd, cache และการตรวจสอบความถูกต้อง

วิธีการติดตั้งระบบปฏิบัติการ Pardus Linux ควบคู่กับ Windows 11 อย่างปลอดภัย

วิธีการติดตั้งระบบปฏิบัติการ Pardus Linux ควบคู่กับ Windows 11 อย่างปลอดภัย

ติดตั้ง Pardus 25.2 ควบคู่ไปกับ Windows 11 โดยทำการสำรองข้อมูล ลดขนาดไดรฟ์ Windows บูตจาก USB UEFI และปกป้องพาร์ติชั่น EFI และพาร์ติชั่นกู้คืนที่มีอยู่เดิม