Docker là một công cụ cực kỳ mạnh mẽ giúp bạn "đóng gói" ứng dụng và môi trường chạy của nó thành các container – giúp dễ dàng triển khai, quản lý và tái sử dụng. Dưới đây là hướng dẫn cơ bản để bạn bắt đầu sử dụng Docker:
---
##
1. Cài đặt Docker
-
Trên Ubuntu:
```bash
sudo apt update
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker
```
-
Trên Windows/Mac:
Tải về từ
https://www.docker.com/products/docker-desktop
---
##
2. Kiểm tra phiên bản Docker
```bash
docker --version
```
---
##
3. Các lệnh Docker cơ bản
###
3.1. Chạy một container
```bash
docker run hello-world
```
Lệnh này giúp kiểm tra Docker hoạt động ổn không.
###
3.2. Tìm và tải image từ Docker Hub
```bash
docker pull nginx
```
###
3.3. Danh sách image đã tải
```bash
docker images
```
###
3.4. Chạy container từ image
```bash
docker run -d -p 8080:80 --name webserver nginx
```
- `-d`: chạy ngầm
- `-p 8080:80`: ánh xạ cổng máy host:container
- `--name`: đặt tên cho container
###
3.5. Xem container đang chạy
```bash
docker ps
```
###
3.6. Xem tất cả container (kể cả đã dừng)
```bash
docker ps -a
```
###
3.7. Dừng container
```bash
docker stop webserver
```
###
3.8. Khởi động lại container
```bash
docker start webserver
```
###
3.9. Xóa container
```bash
docker rm webserver
```
###
3.10. Xóa image
```bash
docker rmi nginx
```
---
##
4. Viết Dockerfile (tạo image tùy chỉnh)
Ví dụ: ứng dụng Node.js
Tạo file `Dockerfile`:
```dockerfile
FROM node:18
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["node", "app.js"]
```
Build image:
```bash
docker build -t my-node-app .
```
Chạy container:
```bash
docker run -d -p 3000:3000 my-node-app
```
---
##
5. Dùng Docker Compose (quản lý nhiều container)
Tạo file `docker-compose.yml`:
```yaml
version: '3'
services:
web:
image: nginx
ports:
- "8080:80"
redis:
image: redis
```
Chạy:
```bash
docker-compose up -d
```
Dừng:
```bash
docker-compose down
```
---
Nếu bạn đang định dùng Docker cho một mục đích cụ thể như
chạy app Java,
cài đặt MySQL, hay
triển khai website, bạn cứ nói mình biết – mình sẽ hướng dẫn cụ thể luôn nha!
21/04/2025 14:39