Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Linux Docker 容器實戰入門:從鏡像拉取到網絡互通完整演示

編輯:關於 Linux

Docker 以輕量級容器技術重塑應用交付。本文實戰演示 CentOS 7 上 Docker 核心操作:鏡像管理、容器生命周期、網絡架構、數據持久化,構建從零上手的完整知識鏈。

環境準備

# CentOS 7 安裝 Docker
yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce docker-ce-cli containerd.io
systemctl start docker && systemctl enable docker

核心實戰流程

1. 拉取並運行 Ubuntu 容器

docker run -it ubuntu:20.04 /bin/bash
# -i: 交互模式保持 STDIN 開啟
# -t: 分配偽終端
# ubuntu:20.04: 指定鏡像標籤(不指定默認 latest)

首次運行自動從 Docker Hub 拉取鏡像,輸出層下載進度。

2. 容器內探索

root@8c342c0c275c:/# hostname
8c342c0c275c          # 容器 ID 作為主機名

root@8c342c0c275c:/# cat /etc/hosts
172.17.0.2  8c342c0c275c  # Docker 自動添加容器 IP 解析
127.0.0.1   localhost
::1         localhost ip6-localhost ip6-loopback

root@8c342c0c275c:/# ip a
# eth0: 172.17.0.2/16  ← docker0 橋接網絡分配
# lo:   127.0.0.1/8

3. 容器管理核心命令

操作命令示例
列出運行中容器docker psdocker ps -a 含停止
啟動/停止/重啟docker start/stop/restartdocker restart webapp
進入運行容器docker exec -itdocker exec -it webapp bash
查看日誌docker logsdocker logs -f --tail 100 webapp
刪除容器docker rmdocker rm -f webapp 強制刪除運行中
查看資源佔用docker statsdocker stats --no-stream

4. 數據持久化:掛載宿主目錄

# 匿名卷
docker run -v /data --name db mysql:5.7

# 綁定掛載(指定宿主路徑)
docker run -v /host/data:/var/lib/mysql --name db mysql:5.7

# 只讀掛載
docker run -v /host/config:/etc/app:ro --name app nginx

5. 端口映射與網絡

# 發布端口到宿主機
docker run -p 8080:80 --name web nginx
# 宿主機 8080 → 容器 80

# 指定綁定地址
docker run -p 127.0.0.1:8080:80 --name web nginx

# 自定義網絡
docker network create mynet
docker run --network mynet --name app myimage

6. 構建自定義鏡像

# Dockerfile
FROM ubuntu:20.04
RUN apt update && apt install -y python3 nginx
COPY app.py /app/
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

# 構建
docker build -t myapp:v1 .

生產環境最佳實踐

  • ✅ 使用 --restart unless-stopped 實現自動重啟
  • ✅ 限制資源:--memory=512m --cpus=1.0
  • ✅ 日誌驅動:--log-driver json-file --log-opt max-size=10m --log-opt max-file=3
  • ✅ 安全:--read-only --security-opt no-new-privileges --cap-drop ALL
  • ✅ 多階段構建縮小鏡像體積

故障排查速查

現象排查命令
容器啟動即退出docker logs container_name
端口衝突netstat -tlnp | grep 8080
掛載權限問題ls -ld /host/path; docker exec -it c ls -ld /container/path
鏡像拉取失敗docker pull image:tag 手動拉取查看詳情

掌握 Docker 核心操作,開啟雲原生應用部署新篇章。

Copyright © Windows教程網 All Rights Reserved