最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker容器化部署入門全面指南

 更新時(shí)間:2025年10月28日 11:34:49   作者:黃思搏  
Docker是一個(gè)開源的容器化平臺,它允許開發(fā)者打包、分發(fā)和運(yùn)行應(yīng)用程序在任何地方,無需擔(dān)心底層環(huán)境的差異,本文給大家介紹Docker容器化部署入門全面指南,感興趣的朋友跟隨小編一起看看吧

什么是Docker

Docker是一個(gè)開源的容器化平臺,可以將應(yīng)用程序及其依賴打包成標(biāo)準(zhǔn)化的容器,實(shí)現(xiàn)"一次構(gòu)建,到處運(yùn)行"。

核心概念:

  • 鏡像(Image):只讀模板,包含運(yùn)行應(yīng)用所需的代碼、庫、依賴
  • 容器(Container):鏡像的運(yùn)行實(shí)例,輕量級、可移植
  • 倉庫(Registry):存儲和分發(fā)鏡像的服務(wù),如Docker Hub

安裝Docker

macOS

1. 下載Docker Desktop

  • 訪問官網(wǎng):https://www.docker.com/products/docker-desktop
  • 根據(jù)芯片類型選擇對應(yīng)版本:
    • Intel芯片:選擇"Mac with Intel chip"
    • Apple芯片:選擇"Mac with Apple chip"

2. 安裝步驟

# 雙擊下載的.dmg文件
# 將Docker圖標(biāo)拖動(dòng)到Applications文件夾
# 從啟動(dòng)臺打開Docker Desktop
# 首次啟動(dòng)需要輸入系統(tǒng)密碼授權(quán)

3. 驗(yàn)證安裝

# 查看版本
docker --version
# 運(yùn)行測試容器
docker run hello-world
# 應(yīng)該看到 "Hello from Docker!" 消息

Linux (Ubuntu)

1. 安裝Docker

# 更新包索引
sudo apt update
# 安裝必要的依賴
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
# 添加Docker官方GPG密鑰
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 添加Docker倉庫
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 更新包索引
sudo apt update
# 安裝Docker
sudo apt install docker-ce docker-ce-cli containerd.io -y
# 啟動(dòng)Docker服務(wù)
sudo systemctl start docker
sudo systemctl enable docker

2. 配置用戶權(quán)限(重要)

# 將當(dāng)前用戶添加到docker組,避免每次使用sudo
sudo usermod -aG docker $USER
# 使權(quán)限立即生效
newgrp docker
# 或者注銷后重新登錄

3. 驗(yàn)證安裝

# 查看版本
docker --version
# 測試運(yùn)行(無需sudo)
docker run hello-world

Windows

1. 系統(tǒng)要求

  • Windows 10/11 64位:專業(yè)版、企業(yè)版或教育版
  • 必須啟用Hyper-V和WSL2

2. 啟用WSL2

# 以管理員身份運(yùn)行PowerShell
wsl --install
# 重啟電腦

3. 下載安裝Docker Desktop

  • 訪問:https://www.docker.com/products/docker-desktop
  • 下載Windows版本并安裝
  • 安裝時(shí)選擇"Use WSL 2 instead of Hyper-V"

4. 驗(yàn)證安裝

docker --version
docker run hello-world

基礎(chǔ)命令

鏡像操作

# 搜索鏡像
docker search nginx
# 拉取鏡像
docker pull nginx:latest
# 查看本地鏡像
docker images
# 刪除鏡像
docker rmi nginx:latest

容器操作

# 運(yùn)行容器
docker run -d -p 8080:80 --name mynginx nginx
# 參數(shù)說明:
# -d: 后臺運(yùn)行
# -p: 端口映射 主機(jī)端口:容器端口
# --name: 容器名稱
# 查看運(yùn)行中的容器
docker ps
# 查看所有容器(包括停止的)
docker ps -a
# 停止容器
docker stop mynginx
# 啟動(dòng)容器
docker start mynginx
# 重啟容器
docker restart mynginx
# 刪除容器
docker rm mynginx
# 查看容器日志
docker logs mynginx
# 進(jìn)入容器
docker exec -it mynginx /bin/bash

開始實(shí)戰(zhàn)前的準(zhǔn)備

環(huán)境檢查

在開始實(shí)戰(zhàn)案例之前,請先確認(rèn)Docker環(huán)境配置正確:

# 1. 檢查Docker是否正常運(yùn)行
docker info
# 如果提示權(quán)限錯(cuò)誤,Linux用戶需要執(zhí)行:
# sudo usermod -aG docker $USER
# newgrp docker
# 2. 檢查Docker版本
docker --version
docker-compose --version  # 如果需要使用Docker Compose

端口檢查

避免端口沖突,檢查常用端口是否被占用:

# macOS/Linux檢查端口
lsof -i :8080  # 檢查8080端口
lsof -i :3000  # 檢查3000端口
lsof -i :3306  # 檢查3306端口(MySQL)
# Windows檢查端口
netstat -ano | findstr :8080
netstat -ano | findstr :3000
netstat -ano | findstr :3306
# 如果端口被占用,可以:
# 1. 修改映射端口,如 -p 8081:80
# 2. 關(guān)閉占用端口的進(jìn)程

清理已存在的容器

如果之前運(yùn)行過示例,先清理舊容器避免命名沖突:

# 停止并刪除可能存在的容器
docker rm -f mynginx myweb myapp mysql 2>/dev/null || true
# 查看當(dāng)前運(yùn)行的容器
docker ps
# 查看所有容器(包括停止的)
docker ps -a

驗(yàn)證網(wǎng)絡(luò)連接

確??梢哉@$R像:

# 測試?yán)∫粋€(gè)小鏡像
docker pull alpine
# 如果速度慢,可以配置國內(nèi)鏡像源
# Docker Desktop: Settings → Docker Engine
# 添加:
# {
#   "registry-mirrors": [
#     "https://mirror.aliyuncs.com",
#     "https://docker.mirrors.ustc.edu.cn"
#   ]
# }

實(shí)戰(zhàn)案例

案例1:運(yùn)行Nginx Web服務(wù)器

# 0. 清理可能存在的容器
docker rm -f myweb 2>/dev/null || true
# 1. 拉取鏡像
docker pull nginx
# 2. 創(chuàng)建本地HTML文件
mkdir -p ~/web
echo "<h1>Hello Docker!</h1>" > ~/web/index.html
# 3. 運(yùn)行容器并掛載目錄
docker run -d \
  -p 8080:80 \
  -v ~/web:/usr/share/nginx/html \
  --name myweb \
  nginx
# 4. 驗(yàn)證容器運(yùn)行
docker ps | grep myweb
echo "訪問 http://localhost:8080"
# 5. 測試訪問
curl http://localhost:8080
# 預(yù)期輸出:<h1>Hello Docker!</h1>
# 6. 查看日志
docker logs myweb

驗(yàn)證成功標(biāo)準(zhǔn):

  • 瀏覽器訪問 http://localhost:8080 顯示 “Hello Docker!”
  • docker ps 顯示myweb容器狀態(tài)為Up
  • curl命令返回HTML內(nèi)容
### 案例2:運(yùn)行MySQL數(shù)據(jù)庫
```bash
# 0. 清理可能存在的容器
docker rm -f mysql 2>/dev/null || true
# 1. 拉取鏡像
docker pull mysql:8.0
# 2. 運(yùn)行MySQL容器
docker run -d \
  -p 3306:3306 \
  -e MYSQL_ROOT_PASSWORD=123456 \
  -e MYSQL_DATABASE=mydb \
  --name mysql \
  mysql:8.0
# 3. 等待MySQL啟動(dòng)(約10-30秒)
echo "等待MySQL啟動(dòng)..."
sleep 15
# 4. 驗(yàn)證容器運(yùn)行
docker ps | grep mysql
# 5. 查看啟動(dòng)日志
docker logs mysql | tail -20
# 6. 測試連接數(shù)據(jù)庫
docker exec -it mysql mysql -uroot -p123456 -e "SHOW DATABASES;"
# 應(yīng)該能看到mydb數(shù)據(jù)庫
# 7. 進(jìn)入交互式命令行(可選)
# docker exec -it mysql mysql -uroot -p123456

驗(yàn)證成功標(biāo)準(zhǔn):

  • docker ps 顯示mysql容器狀態(tài)為Up且健康
  • 日志中顯示 “ready for connections”
  • SHOW DATABASES; 命令能看到mydb數(shù)據(jù)庫
  • 可以成功執(zhí)行SQL查詢
### 案例3:運(yùn)行Node.js應(yīng)用
```bash
# 0. 清理環(huán)境
docker rm -f myapp 2>/dev/null || true
docker rmi myapp 2>/dev/null || true
rm -rf myapp  # 確保目錄不存在
# 1. 創(chuàng)建項(xiàng)目目錄
mkdir myapp && cd myapp
# 2. 創(chuàng)建package.json
cat > package.json << 'EOF'
{
  "name": "myapp",
  "version": "1.0.0",
  "main": "index.js",
  "dependencies": {
    "express": "^4.18.0"
  }
}
EOF
# 3. 創(chuàng)建index.js
cat > index.js << 'EOF'
const express = require('express');
const app = express();
app.get('/', (req, res) => {
  res.send('Hello from Docker!');
});
app.get('/health', (req, res) => {
  res.json({ status: 'OK', time: new Date() });
});
app.listen(3000, () => {
  console.log('Server running on port 3000');
});
EOF
# 4. 創(chuàng)建Dockerfile
cat > Dockerfile << 'EOF'
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["node", "index.js"]
EOF
# 5. 構(gòu)建鏡像
docker build -t myapp .
echo "鏡像構(gòu)建完成"
# 6. 運(yùn)行容器
docker run -d -p 3000:3000 --name myapp myapp
# 7. 等待應(yīng)用啟動(dòng)
echo "等待應(yīng)用啟動(dòng)..."
sleep 3
# 8. 驗(yàn)證容器運(yùn)行
docker ps | grep myapp
# 9. 查看日志
docker logs myapp
# 10. 測試訪問
echo "測試主頁:"
curl http://localhost:3000
echo -e "\n測試健康檢查:"
curl http://localhost:3000/health

驗(yàn)證成功標(biāo)準(zhǔn):

  • 瀏覽器訪問 http://localhost:3000 顯示 “Hello from Docker!”
  • 訪問 http://localhost:3000/health 返回JSON狀態(tài)
  • docker ps 顯示myapp容器狀態(tài)為Up
  • 日志顯示 “Server running on port 3000”
  • curl命令成功返回內(nèi)容

清理資源:

# 停止并刪除容器
docker rm -f myapp
# 刪除鏡像
docker rmi myapp
# 刪除項(xiàng)目目錄
cd .. && rm -rf myapp

Dockerfile詳解

# 基礎(chǔ)鏡像
FROM node:18-alpine
# 設(shè)置工作目錄
WORKDIR /app
# 復(fù)制依賴文件
COPY package*.json ./
# 安裝依賴
RUN npm install
# 復(fù)制應(yīng)用代碼
COPY . .
# 暴露端口
EXPOSE 3000
# 啟動(dòng)命令
CMD ["node", "index.js"]

指令說明:

  • FROM:指定基礎(chǔ)鏡像
  • WORKDIR:設(shè)置工作目錄
  • COPY:復(fù)制文件到鏡像
  • RUN:執(zhí)行命令(構(gòu)建時(shí))
  • EXPOSE:聲明端口
  • CMD:容器啟動(dòng)命令

Docker Compose

管理多容器應(yīng)用的工具。

docker-compose.yml示例

version: '3.8'
services:
  web:
    image: nginx
    ports:
      - "8080:80"
    volumes:
      - ./html:/usr/share/nginx/html
    depends_on:
      - db
  db:
    image: mysql:8.0
    environment:
      MYSQL_ROOT_PASSWORD: 123456
      MYSQL_DATABASE: mydb
    volumes:
      - mysql-data:/var/lib/mysql
volumes:
  mysql-data:

Compose命令

# 啟動(dòng)所有服務(wù)
docker-compose up -d
# 停止所有服務(wù)
docker-compose down
# 查看服務(wù)狀態(tài)
docker-compose ps
# 查看日志
docker-compose logs -f

數(shù)據(jù)持久化

數(shù)據(jù)卷(Volume)

# 創(chuàng)建數(shù)據(jù)卷
docker volume create mydata
# 使用數(shù)據(jù)卷
docker run -d -v mydata:/data --name mycontainer alpine
# 查看數(shù)據(jù)卷
docker volume ls
# 刪除數(shù)據(jù)卷
docker volume rm mydata

掛載目錄(Bind Mount)

# 掛載主機(jī)目錄
docker run -d -v /host/path:/container/path nginx

網(wǎng)絡(luò)管理

基礎(chǔ)網(wǎng)絡(luò)操作

# 創(chuàng)建網(wǎng)絡(luò)
docker network create mynetwork
# 在網(wǎng)絡(luò)中運(yùn)行容器
docker run -d --network mynetwork --name web nginx
docker run -d --network mynetwork --name db mysql
# 容器間可通過容器名通信
# web容器可以通過 db:3306 訪問mysql
# 查看網(wǎng)絡(luò)
docker network ls
# 查看網(wǎng)絡(luò)詳情
docker network inspect mynetwork
# 刪除網(wǎng)絡(luò)
docker network rm mynetwork

實(shí)戰(zhàn):容器間通信演示

這個(gè)案例演示W(wǎng)eb應(yīng)用如何通過Docker網(wǎng)絡(luò)連接MySQL數(shù)據(jù)庫:

# 0. 清理環(huán)境
docker rm -f web-app db-server 2>/dev/null || true
docker network rm app-network 2>/dev/null || true
# 1. 創(chuàng)建自定義網(wǎng)絡(luò)
docker network create app-network
# 2. 啟動(dòng)MySQL數(shù)據(jù)庫容器
docker run -d \
  --network app-network \
  --name db-server \
  -e MYSQL_ROOT_PASSWORD=secret123 \
  -e MYSQL_DATABASE=testdb \
  mysql:8.0
# 3. 等待MySQL啟動(dòng)
echo "等待MySQL啟動(dòng)..."
sleep 15
# 4. 啟動(dòng)Web容器(使用Alpine作為演示)
docker run -d \
  --network app-network \
  --name web-app \
  alpine sleep 3600
# 5. 測試網(wǎng)絡(luò)連通性
echo "測試容器間網(wǎng)絡(luò)連通性:"
# 5.1 測試DNS解析
docker exec web-app ping -c 3 db-server
echo "DNS解析成功!"
# 5.2 測試端口連通性(需要先安裝nc工具)
docker exec web-app sh -c "apk add --no-cache netcat-openbsd && nc -zv db-server 3306"
echo "端口3306連通!"
# 6. 從Web容器連接MySQL數(shù)據(jù)庫
# 安裝MySQL客戶端
docker exec web-app sh -c "apk add --no-cache mysql-client"
# 連接數(shù)據(jù)庫并執(zhí)行查詢
docker exec web-app mysql -h db-server -uroot -psecret123 -e "SHOW DATABASES;"
echo "數(shù)據(jù)庫連接成功!"
# 7. 查看網(wǎng)絡(luò)詳情
docker network inspect app-network
# 8. 查看容器的網(wǎng)絡(luò)配置
docker inspect web-app | grep -A 20 "Networks"

驗(yàn)證成功標(biāo)準(zhǔn):

  • ping db-server 能夠成功解析并ping通
  • nc -zv db-server 3306 顯示端口開放
  • MySQL客戶端能夠連接并查詢數(shù)據(jù)庫
  • docker network inspect 顯示兩個(gè)容器都在同一網(wǎng)絡(luò)中

重要說明:

  • 同一網(wǎng)絡(luò)中的容器可以通過容器名互相訪問
  • 不需要知道容器的IP地址
  • 這是Docker推薦的容器間通信方式
  • 容器重啟后IP可能變化,但容器名不變

清理資源:

docker rm -f web-app db-server
docker network rm app-network

鏡像優(yōu)化技巧

1. 使用多階段構(gòu)建

# 構(gòu)建階段
FROM node:18 AS builder
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
# 運(yùn)行階段
FROM node:18-alpine
WORKDIR /app
COPY --from=builder /app/dist ./dist
COPY --from=builder /app/node_modules ./node_modules
CMD ["node", "dist/index.js"]

2. 減小鏡像體積

  • 使用alpine基礎(chǔ)鏡像
  • 合并RUN命令減少層數(shù)
  • 刪除不必要的文件
  • 使用.dockerignore排除文件

3. .dockerignore示例

node_modules
npm-debug.log
.git
.gitignore
README.md
.env

常用技巧

清理Docker資源

# 刪除所有停止的容器
docker container prune
# 刪除未使用的鏡像
docker image prune
# 刪除未使用的數(shù)據(jù)卷
docker volume prune
# 清理所有未使用資源
docker system prune -a

查看資源占用

# 查看容器資源使用
docker stats
# 查看磁盤使用
docker system df

導(dǎo)出和導(dǎo)入鏡像

# 導(dǎo)出鏡像
docker save -o nginx.tar nginx:latest
# 導(dǎo)入鏡像
docker load -i nginx.tar

最佳實(shí)踐

  1. 單一職責(zé):每個(gè)容器只運(yùn)行一個(gè)進(jìn)程
  2. 最小化層數(shù):合并RUN命令
  3. 使用緩存:將不常變化的指令放前面
  4. 安全性:不在鏡像中存儲敏感信息
  5. 健康檢查:添加HEALTHCHECK指令
  6. 日志管理:合理配置日志驅(qū)動(dòng)
  7. 資源限制:設(shè)置內(nèi)存和CPU限制

故障排查

# 查看容器詳細(xì)信息
docker inspect mynginx
# 查看容器進(jìn)程
docker top mynginx
# 實(shí)時(shí)日志
docker logs -f mynginx
# 復(fù)制文件
docker cp mynginx:/etc/nginx/nginx.conf ./
# 查看端口映射
docker port mynginx

常見問題FAQ

Q1: Docker啟動(dòng)失敗或提示權(quán)限錯(cuò)誤

問題表現(xiàn):

permission denied while trying to connect to the Docker daemon socket

解決方案:

Linux系統(tǒng):

# 將當(dāng)前用戶添加到docker組
sudo usermod -aG docker $USER
# 立即生效(或注銷重新登錄)
newgrp docker
# 驗(yàn)證
docker run hello-world

macOS/Windows:

  • 確保Docker Desktop正在運(yùn)行
  • 檢查系統(tǒng)托盤中的Docker圖標(biāo)
  • 重啟Docker Desktop

Q2: 端口已被占用

問題表現(xiàn):

Error: bind: address already in use

解決方案:

# macOS/Linux - 查找占用端口的進(jìn)程
lsof -i :8080
# 或
sudo netstat -tulpn | grep :8080
# Windows - 查找占用端口的進(jìn)程
netstat -ano | findstr :8080
# 方法1: 關(guān)閉占用端口的進(jìn)程
kill -9 <PID>
# 方法2: 使用不同的端口
docker run -p 8081:80 nginx  # 改用8081端口

Q3: 容器無法啟動(dòng)或立即退出

診斷步驟:

# 1. 查看容器狀態(tài)
docker ps -a
# 2. 查看容器日志
docker logs 容器名
# 3. 查看詳細(xì)錯(cuò)誤信息
docker inspect 容器名 | grep -i error
# 4. 嘗試交互式運(yùn)行查看錯(cuò)誤
docker run -it 鏡像名 /bin/sh

常見原因:

  • 容器內(nèi)主進(jìn)程退出(CMD命令執(zhí)行完畢)
  • 配置文件錯(cuò)誤
  • 環(huán)境變量缺失
  • 依賴服務(wù)未就緒

Q4: 鏡像拉取速度很慢

解決方案:配置國內(nèi)鏡像源

Docker Desktop:

打開 Settings → Docker Engine,添加:
{
  "registry-mirrors": [
    "https://mirror.aliyuncs.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com"
  ]
}

Linux系統(tǒng):

# 編輯配置文件
sudo vim /etc/docker/daemon.json
# 添加以下內(nèi)容
{
  "registry-mirrors": [
    "https://mirror.aliyuncs.com",
    "https://docker.mirrors.ustc.edu.cn"
  ]
}
# 重啟Docker服務(wù)
sudo systemctl daemon-reload
sudo systemctl restart docker

Q5: 容器數(shù)據(jù)丟失

問題:
容器刪除后數(shù)據(jù)消失

解決方案:使用數(shù)據(jù)卷持久化

# 方法1: 使用命名數(shù)據(jù)卷
docker volume create mydata
docker run -v mydata:/app/data nginx
# 方法2: 掛載主機(jī)目錄
docker run -v /host/path:/container/path nginx
# 方法3: 在docker-compose中使用
version: '3.8'
services:
  app:
    image: nginx
    volumes:
      - mydata:/data
volumes:
  mydata:

Q6: 無法訪問容器中的服務(wù)

檢查清單:

# 1. 確認(rèn)容器正在運(yùn)行
docker ps
# 2. 檢查端口映射是否正確
docker port 容器名
# 3. 檢查容器內(nèi)服務(wù)是否啟動(dòng)
docker logs 容器名
# 4. 進(jìn)入容器檢查
docker exec -it 容器名 /bin/sh
# 在容器內(nèi)測試:
curl localhost:端口
# 5. 檢查防火墻設(shè)置
# Linux
sudo ufw status
# macOS
# 系統(tǒng)偏好設(shè)置 → 安全性與隱私 → 防火墻
# 6. 確認(rèn)使用正確的訪問地址
# localhost 或 127.0.0.1 或 宿主機(jī)IP

Q7: Docker占用磁盤空間過大

清理方案:

# 1. 查看磁盤占用
docker system df
# 2. 刪除停止的容器
docker container prune
# 3. 刪除未使用的鏡像
docker image prune -a
# 4. 刪除未使用的數(shù)據(jù)卷
docker volume prune
# 5. 刪除未使用的網(wǎng)絡(luò)
docker network prune
# 6. 一鍵清理所有未使用資源
docker system prune -a --volumes
# 警告:這會刪除所有停止的容器、未使用的鏡像和數(shù)據(jù)卷
# 7. 定期清理構(gòu)建緩存
docker builder prune

Q8: 如何進(jìn)入正在運(yùn)行的容器

方法匯總:

# 方法1: 使用bash(推薦)
docker exec -it 容器名 /bin/bash
# 方法2: 使用sh(alpine鏡像)
docker exec -it 容器名 /bin/sh
# 方法3: 直接執(zhí)行命令
docker exec 容器名 ls -la /app
# 方法4: 以root用戶進(jìn)入
docker exec -it -u root 容器名 /bin/bash
# 退出容器但不停止
按 Ctrl+P 然后 Ctrl+Q

Q9: 容器時(shí)區(qū)不正確

解決方案:

# 方法1: 運(yùn)行時(shí)設(shè)置環(huán)境變量
docker run -e TZ=Asia/Shanghai nginx
# 方法2: 在Dockerfile中設(shè)置
FROM nginx
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 方法3: 掛載主機(jī)時(shí)區(qū)文件
docker run -v /etc/localtime:/etc/localtime:ro nginx

Q10: 容器與宿主機(jī)網(wǎng)絡(luò)不通

排查步驟:

# 1. 檢查Docker網(wǎng)絡(luò)模式
docker inspect 容器名 | grep NetworkMode
# 2. 測試容器訪問外網(wǎng)
docker exec 容器名 ping 8.8.8.8
# 3. 測試容器訪問宿主機(jī)
# 使用特殊DNS名稱訪問宿主機(jī)
docker exec 容器名 ping host.docker.internal
# 4. 使用host網(wǎng)絡(luò)模式(謹(jǐn)慎使用)
docker run --network host nginx
# 5. 檢查iptables規(guī)則(Linux)
sudo iptables -L -n

快速參考:常用排查命令

# 查看容器詳細(xì)信息
docker inspect 容器名
# 查看容器日志(實(shí)時(shí))
docker logs -f 容器名
# 查看容器資源使用
docker stats 容器名
# 查看容器進(jìn)程
docker top 容器名
# 復(fù)制文件到/從容器
docker cp 容器名:/path/file ./
docker cp ./file 容器名:/path/
# 查看Docker系統(tǒng)信息
docker info
# 查看Docker版本
docker version

總結(jié)

Docker核心工作流程:

  1. 編寫Dockerfile定義鏡像
  2. 使用docker build構(gòu)建鏡像
  3. 使用docker run運(yùn)行容器
  4. 使用docker-compose管理多容器應(yīng)用

掌握這些基礎(chǔ)知識,你就可以開始使用Docker進(jìn)行應(yīng)用容器化部署了。

到此這篇關(guān)于Docker容器化部署入門全面指南的文章就介紹到這了,更多相關(guān)docker容器化部署內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Docker學(xué)習(xí)筆記之Docker端口映射

    Docker學(xué)習(xí)筆記之Docker端口映射

    本篇文章主要介紹了Docker學(xué)習(xí)筆記之Docker端口映射,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-07-07
  • docker入門之容器介紹

    docker入門之容器介紹

    這篇文章主要介紹了docker入門之容器介紹的相關(guān)資料,需要的朋友可以參考下
    2018-10-10
  • 解決執(zhí)行docker daemon命令時(shí)出錯(cuò)的問題

    解決執(zhí)行docker daemon命令時(shí)出錯(cuò)的問題

    daemon 這是docker 操作中十分常用的命令指定項(xiàng),最近在運(yùn)行docker daemon命令卻發(fā)生了錯(cuò)誤,后來通過測試各種方法終于解決了,現(xiàn)在將方法分享給大家,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-11-11
  • Docker+Jenkins實(shí)現(xiàn)一鍵自動(dòng)化部署項(xiàng)目的圖文教學(xué)

    Docker+Jenkins實(shí)現(xiàn)一鍵自動(dòng)化部署項(xiàng)目的圖文教學(xué)

    Jenkins是一個(gè)廣泛使用的開源持續(xù)集成工具,它能自動(dòng)化構(gòu)建,測試和部署軟件項(xiàng)目,本文主要介紹了關(guān)于docker搭建Jenkins實(shí)現(xiàn)一鍵自動(dòng)化部署項(xiàng)目,需要的朋友可以參考下
    2025-05-05
  • Docker 網(wǎng)絡(luò)代理配置及防火墻設(shè)置的方法步驟

    Docker 網(wǎng)絡(luò)代理配置及防火墻設(shè)置的方法步驟

    在服務(wù)器無法直接訪問外網(wǎng)的環(huán)境中,Docker命令需要通過網(wǎng)絡(luò)代理連接,本文就來介紹一下Docker 網(wǎng)絡(luò)代理配置及防火墻設(shè)置的方法步驟,感興趣的可以了解一下
    2024-10-10
  • Docker容器排錯(cuò)必知的8個(gè)命令詳解

    Docker容器排錯(cuò)必知的8個(gè)命令詳解

    本文介紹了8個(gè)實(shí)用的Docker排錯(cuò)命令,包括查看容器日志,檢查容器詳細(xì)信息和進(jìn)入容器內(nèi)部排查等,些命令涵蓋了Docker排錯(cuò)的完整鏈路,可以幫助大家快速定位和解決問題
    2026-04-04
  • Docker私有倉庫Harbor介紹和部署方法詳解

    Docker私有倉庫Harbor介紹和部署方法詳解

    這篇文章主要介紹了Docker私有倉庫Harbor介紹和部署方法,需要的朋友可以參考下
    2022-01-01
  • docker?compose快速開始超詳細(xì)教程

    docker?compose快速開始超詳細(xì)教程

    docker-compose是基于docker的開源項(xiàng)目,托管于github上,由python實(shí)現(xiàn),調(diào)用?docker服務(wù)的API負(fù)責(zé)實(shí)現(xiàn)對docker容器集群的快速編排,即通過一個(gè)單獨(dú)的yaml文件,來定義一組相關(guān)的容器來為一個(gè)項(xiàng)目服務(wù),本文給大家介紹docker?compose快速開始,感興趣的朋友一起看看吧
    2022-05-05
  • Docker的基本使用筆記

    Docker的基本使用筆記

    Docker是一種可以把應(yīng)用程序自動(dòng)部署到容器的開源引擎,他和虛擬化相比具有輕量和快速部署刪除的特點(diǎn),可以使軟件開發(fā)偏向于微服務(wù)架構(gòu)方向。從資源成本和管理方式上都比傳統(tǒng)的虛擬化有著太多的優(yōu)勢,但是對運(yùn)行環(huán)境的要求較高。
    2017-04-04
  • Docker容器中運(yùn)行nginx

    Docker容器中運(yùn)行nginx

    本文介紹了從docker hub拉取官方nginx鏡像并自定義部分配置,綁定端口運(yùn)行的過程。希望小伙伴們能夠從中得到些知識
    2017-03-03

最新評論

高要市| 东乡| 长阳| 吉首市| 永春县| 桂阳县| 庄河市| 炎陵县| 广西| 汶上县| 禄劝| 诸暨市| 潢川县| 巴中市| 阿合奇县| 延安市| 从化市| 昌都县| 汉沽区| 宝应县| 鄢陵县| 茌平县| 德清县| 牙克石市| 信丰县| 无为县| 涞源县| 乳源| 新丰县| 梅州市| 盘锦市| 合水县| 凤翔县| 大渡口区| 灵台县| 新郑市| 临夏市| 通榆县| 沙洋县| 大名县| 进贤县|