Docker คือ ตอนที่ 1 : การติดตั้ง Docker และการทำแอพแรก

  1. การติดตั้ง Docker
    การติดตั้ง Docker บน Windows
    การติดตั้ง Docker บน MacOS
    การติดตั้ง Docker บน Linux
  2. ทำแอพแรกของคุณด้วย Docker
    ขั้นตอนที่ 1: สร้างแอปพลิเคชัน Node.js
    ขั้นตอนที่ 2: เชื่อมต่อแอปพลิเคชัน Node.js

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

1. การติดตั้ง Docker

ก่อนที่จะดำดิ่งสู่การทำแอพ คุณต้องติดตั้ง Docker ไว้ในระบบของคุณ Docker เข้ากันได้กับระบบปฏิบัติการที่หลากหลาย รวมถึง Linux, Windows และ MacOS

การติดตั้ง Docker บน Windows:

Docker Desktop สำหรับ Windows คือ Docker เวอร์ชันชุมชนสำหรับ Microsoft Windows ในการติดตั้ง คุณต้องมี Windows 10 Pro, Enterprise หรือ Education แบบ 64 บิต

  1. ดาวน์โหลด Docker Desktop สำหรับ Windows จาก Docker Hub
  2. ดับเบิลคลิกที่ Docker Desktop Installer เพื่อเรียกใช้ตัวติดตั้ง
  3. ทำตามคำแนะนำที่ให้ไว้ในวิซาร์ดการติดตั้ง
  4. หลังจากติดตั้งสำเร็จ Docker Desktop จะเปิดไอคอน Whale ในพื้นที่การแจ้งเตือน ซึ่งบ่งชี้ว่า Docker กำลังทำงานอยู่ และคุณพร้อมที่จะเรียกใช้คำสั่ง Docker ใน Docker CLI

การติดตั้ง Docker บน MacOS:

Docker Desktop สำหรับ Mac เป็นเวอร์ชันชุมชนของ Docker สำหรับ Mac OS

  1. ดาวน์โหลด Docker Desktop สำหรับ Mac จาก Docker Hub
  2. ดับเบิลคลิกที่ไฟล์ DMG ที่ดาวน์โหลดมา
  3. ลากและวาง Docker ลงในโฟลเดอร์ Applications ของคุณ
  4. เปิด Docker จากแอปพลิเคชันของคุณ
  5. หากการติดตั้งสำเร็จ คุณจะเห็นไอคอน Docker แบบเคลื่อนไหวในแถบเมนูของ Mac OS แสดงว่ากำลังเริ่มต้น ตอนนี้คุณพร้อมที่จะเรียกใช้คำสั่ง Docker แล้ว

การติดตั้ง Docker บน Linux:

สำหรับ Linux ดิสทริบิวชัน Docker จัดเตรียมแพ็คเกจที่สามารถติดตั้งได้โดยใช้ตัวจัดการแพ็คเกจดั้งเดิมสำหรับการแจกจ่ายของคุณ ตัวอย่างเช่น บน Ubuntu:

  1. อัปเดตรายการแพ็คเกจของคุณโดยใช้คำ sudo apt-get updateสั่ง
  2. ติดตั้งการพึ่งพาแพ็คเกจของ Docker ด้วย sudo apt-get install apt-transport-https ca-certificates curl software-properties-common.
  3. เพิ่มคีย์ GPG ของ Docker โดยใช้คำสั่ง curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  4. เพิ่มที่เก็บ Docker ไปยังแหล่ง APT ด้วยsudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
  5. อัปเดตฐานข้อมูลแพ็คเกจของคุณด้วยแพ็คเกจ Docker โดยใช้คำสั่ง sudo apt-get update
  6. ติดตั้ง Docker โดยใช้คำสั่ง sudo apt-get install docker-ce

2. ทำแอพแรกของคุณด้วย Docker

หลังจากติดตั้ง Docker เรียบร้อยแล้ว ตอนนี้คุณก็พร้อมที่จะทำแอพแรกของคุณแล้ว เพื่อให้เข้าใจกระบวนการ เรามาทำแอพ Node.js และ Dockerize กัน

ขั้นตอนที่ 1: สร้างแอปพลิเคชัน Node.js

ขั้นแรก สร้างไดเร็กทอรีใหม่สำหรับแอปพลิเคชันของคุณและนำทางเข้าไป:

mkdir my-node-app && cd my-node-app

จากนั้น เริ่มต้นแอปพลิเคชัน Node.js ใหม่โดยใช้ Node Package Manager (npm):

npm init -y

สิ่งนี้จะสร้าง package.json ไฟล์สำหรับแอปพลิเคชันของคุณ

ตอนนี้ ติดตั้ง Express ซึ่งเป็นเฟรมเวิร์กเว็บแอปพลิเคชันยอดนิยมของ Node.js:

npm install express --save

สร้างไฟล์ใหม่ในไดเร็กทอรีแอปพลิเคชันของคุณชื่อ app.js และเพิ่มโค้ด JavaScript ต่อไปนี้:

const express = require('express')
const app = express()
const port = 3000

app.get('/', (req, res) => {
  res.send('Hello, Docker!')
})

app.listen(port, () => {
  console.log(`App running on http://localhost:${port}`)
})

คุณสามารถเริ่มแอปพลิเคชันของคุณโดยใช้คำสั่ง node app.js และหากคุณไปที่ http://localhost:3000 คุณจะเห็นข้อความ ‘Hello, Docker!’

ขั้นตอนที่ 2: เชื่อมต่อแอปพลิเคชัน Node.js

หากต้องการ Dockerize แอปพลิเคชัน คุณต้องสร้าง Dockerfile ในไดเร็กทอรีรากของแอปพลิเคชัน เป็น Dockerfile ไฟล์ข้อความที่มีคำแนะนำ (คำสั่ง) ที่จำเป็นในการสร้างอิมเมจ Docker

วิธีง่ายๆ Dockerfile สำหรับแอปพลิเคชัน Node.js ของเรา มีดังนี้

# Use an official Node runtime as a parent image
FROM node:14

# Set the working directory in the container to /app
WORKDIR /app

# Copy package.json and package-lock.json to the working directory
COPY package*.json ./

# Install the application dependencies inside the container
RUN npm install

# Copy the current directory contents (i.e., our application) into the container at /app
COPY . .

# Make port 3000 available to the outside world
EXPOSE 3000

# Run the application when the container launches
CMD [ "node", "app.js" ]

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

docker build -t my-node-app:1.0 .

สิ่งนี้จะสร้างอิมเมจ Docker my-node-app ที่มีแท็กเป็น 1.0

สุดท้าย ในการเรียกใช้แอปพลิเคชัน คุณสามารถใช้ docker run คำสั่ง:

docker run -p 3000:3000 -d my-node-app:1.0

หากคุณเปิดเว็บเบราว์เซอร์และไปที่ http://localhost:3000 คุณจะเห็นข้อความ ‘Hello, Docker!’ ซึ่งแสดงโดยแอปพลิเคชัน Dockerized Node.js ที่ทำงานภายในคอนเทนเนอร์ Docker


เมื่อทำตามคำแนะนำนี้ แสดงว่าคุณได้ติดตั้ง Docker และทำแอพ Dockerized ตัวแรกเรียบร้อยแล้ว Docker เป็นเครื่องมือที่ทรงพลังอย่างยิ่ง และนี่เป็นเพียงจุดเริ่มต้นเท่านั้น ขณะที่คุณสำรวจ Docker ต่อไป คุณจะได้เรียนรู้เกี่ยวกับหัวข้อขั้นสูงเพิ่มเติม เช่น Docker Compose, Docker Swarm และการใช้ Docker กับไปป์ไลน์การผสานรวม/การปรับใช้อย่างต่อเนื่อง (CI/CD) อย่างต่อเนื่อง ทักษะเหล่านี้มีความสำคัญมากขึ้นในสภาพแวดล้อมการพัฒนาซอฟต์แวร์สมัยใหม่ ดังนั้นหมั่นฝึกฝนและพัฒนาทักษะ Docker ของคุณ


Docker คืออะไร

Docker คือ ตอนที่ 2 : ข้อมูลเบื้องต้น (Docker Basics)