วิธีการติดตั้ง GitLab บน Ubuntu Server
คุณต้องการให้ GitLab ทำงานบนเซิร์ฟเวอร์ Ubuntu ของคุณหรือไม่? GitLab เป็นทางเลือกที่โฮสต์ได้เองที่มีประสิทธิภาพสำหรับบริการต่างๆ เช่น GitHub ด้วยคุณสามารถ
คุณเคยต้องการสร้างอิมเมจ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
คุณต้องการให้ GitLab ทำงานบนเซิร์ฟเวอร์ Ubuntu ของคุณหรือไม่? GitLab เป็นทางเลือกที่โฮสต์ได้เองที่มีประสิทธิภาพสำหรับบริการต่างๆ เช่น GitHub ด้วยคุณสามารถ
เรียนรู้วิธีเพิ่มความปลอดภัยให้กับเซิร์ฟเวอร์ Ubuntu Linux โดยการติดตั้งและเปิดใช้งาน SELinux
ต้องการวิธีที่ง่ายกว่าในการเมานต์การแชร์ NFS บนเซิร์ฟเวอร์ Linux ของคุณหรือไม่ เรียนรู้วิธีเมานต์การแชร์ NFS ด้วยแอป Cockpit
การสนับสนุนระยะยาวของ Ubuntu 22.04 อยู่ที่นี่แล้ว! เรียนรู้วิธีอัปเกรดเดสก์ท็อปหรือแล็ปท็อปของคุณเป็น Ubuntu รุ่นล่าสุด
วิธีติดตั้งไดรเวอร์ Nvidia GPU ล่าสุดบน Linux
ต้องการถ่ายโอนไฟล์ไปยังคอนเทนเนอร์ Docker ของคุณหรือไม่ ด้วยเครื่องมือ Docker cp คุณสามารถย้ายไฟล์เข้าและออกจากคอนเทนเนอร์ได้อย่างง่ายดาย
ไฟล์ DEB คืออะไร?? คุณจะทำอย่างไรกับมัน? เรียนรู้หลายวิธีที่คุณสามารถติดตั้งไฟล์ DEB บน Linux PC ของคุณ
คุณเป็นเจ้าของเกมบน GOG.com หรือไม่? ต้องการตั้งค่าไคลเอนต์ GOG Galaxy บนพีซี Linux ของคุณเพื่อเพลิดเพลินกับวิดีโอเกมหรือไม่? ทำตามคำแนะนำนี้ในขณะที่เราแสดง
Docker Engine เป็นโปรแกรมเปิดคอนเทนเนอร์สำหรับ Linux และแพลตฟอร์มอื่นๆ Docker Engine จัดการคอนเทนเนอร์ในตัวที่ทำงานคล้ายกับ
คุณเหนื่อยกับการติดตั้ง Slack, Discord และเครื่องมือเพิ่มประสิทธิภาพอื่น ๆ บนระบบ Linux ของคุณหรือไม่? คุณหวังว่าพวกเขาจะรวมเป็นหนึ่งเดียวได้ไหม