# Docker如何安裝使用
## 一、Docker簡介
Docker是一個開源的容器化平臺,允許開發者將應用程序及其依賴打包到輕量級、可移植的容器中。與傳統虛擬機不同,Docker容器共享主機操作系統內核,具有啟動快、資源占用少等優勢。
### 核心概念
- **鏡像(Image)**:只讀模板,包含運行應用所需的文件系統
- **容器(Container)**:鏡像的運行實例
- **倉庫(Registry)**:存儲和分發鏡像的服務(如Docker Hub)
---
## 二、安裝Docker
### 1. Linux系統安裝(以Ubuntu為例)
```bash
# 1. 卸載舊版本
sudo apt-get remove docker docker-engine docker.io containerd runc
# 2. 安裝依賴
sudo apt-get update
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
# 3. 添加Docker官方GPG密鑰
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# 4. 設置倉庫
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 5. 安裝Docker引擎
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
# 6. 驗證安裝
sudo docker run hello-world
# 搜索鏡像
docker search nginx
# 拉取鏡像
docker pull nginx:latest
# 查看本地鏡像
docker images
# 刪除鏡像
docker rmi <鏡像ID>
# 運行容器(-d后臺運行,-p端口映射)
docker run -d -p 80:80 --name mynginx nginx
# 查看運行中的容器
docker ps
# 查看所有容器(包括已停止)
docker ps -a
# 停止/啟動容器
docker stop mynginx
docker start mynginx
# 進入容器終端
docker exec -it mynginx /bin/bash
# 刪除容器
docker rm mynginx
# 掛載主機目錄
docker run -v /host/path:/container/path nginx
# 使用數據卷
docker volume create myvol
docker run -v myvol:/container/path nginx
示例:創建Python應用鏡像
# 基礎鏡像
FROM python:3.9-slim
# 設置工作目錄
WORKDIR /app
# 復制依賴文件
COPY requirements.txt .
# 安裝依賴
RUN pip install -r requirements.txt
# 復制應用代碼
COPY . .
# 暴露端口
EXPOSE 5000
# 啟動命令
CMD ["python", "app.py"]
構建鏡像:
docker build -t mypythonapp .
docker-compose.yml
示例:
version: '3'
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
redis:
image: "redis:alpine"
常用命令:
docker-compose up -d # 啟動服務
docker-compose down # 停止服務
# 刪除所有停止的容器
docker container prune
# 刪除未被使用的鏡像
docker image prune -a
# 清理所有無用資源
docker system prune
docker logs -f <容器名>
# 創建自定義網絡
docker network create mynet
# 查看網絡詳情
docker network inspect mynet
權限問題:在命令前加sudo
或將用戶加入docker組
sudo usermod -aG docker $USER
端口沖突:修改-p
參數或停止占用端口的服務
鏡像拉取慢:配置國內鏡像源
// /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
通過本文的學習,您應該已經掌握了Docker的安裝和基礎使用方法。建議通過實際項目練習來鞏固知識,逐步探索更高級的容器化技術。 “`
注:本文實際約1600字,可根據需要調整各部分詳細程度。建議讀者按照”安裝→基礎命令→自定義鏡像→多容器編排”的順序循序漸進學習。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。