您的位置:首页 > 娱乐 > 八卦 > 入门级网页设计培训学员_湖南营销类网站设计_新手怎么做seo优化_技能培训

入门级网页设计培训学员_湖南营销类网站设计_新手怎么做seo优化_技能培训

2025/8/25 19:36:44 来源:https://blog.csdn.net/qq_56851614/article/details/146292819  浏览:    关键词:入门级网页设计培训学员_湖南营销类网站设计_新手怎么做seo优化_技能培训
入门级网页设计培训学员_湖南营销类网站设计_新手怎么做seo优化_技能培训

Docker 命令详解与高级应用指南

Docker 是一种开源的容器化平台,允许开发者将应用程序及其依赖打包到一个轻量级、可移植的容器中。通过 Docker,可以实现快速部署、扩展和管理应用程序。本文将详细介绍 Docker 的常用命令,并结合示例说明,同时涵盖一些高级应用场景。


目录

  1. Docker 基础概念
  2. Docker 安装与配置
  3. Docker 常用命令
    • 镜像操作
    • 容器操作
    • 网络操作
    • 数据卷操作
  4. Docker 高级应用
    • Docker Compose
    • Docker Swarm
    • Dockerfile 优化
    • 容器监控与日志
  5. 案例实战
    • 部署 Web 应用
    • 构建微服务架构
    • CI/CD 集成

Docker 基础概念

  • 镜像(Image):一个只读模板,包含运行应用程序所需的代码、库和依赖。
  • 容器(Container):镜像的运行实例,是一个轻量级的虚拟化环境。
  • 仓库(Registry):用于存储和分发镜像的服务,如 Docker Hub。
  • Dockerfile:用于定义镜像构建过程的文本文件。

Docker 安装与配置

安装 Docker

在 Linux 上安装 Docker:

sudo apt update
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker

在 macOS 或 Windows 上,可以下载 Docker Desktop 并安装。

配置 Docker

  • 将当前用户加入 docker 组,避免每次使用 sudo
    sudo usermod -aG docker $USER
    
  • 重启系统使配置生效。

Docker 常用命令

镜像操作

1. 拉取镜像
docker pull ubuntu:20.04  # 拉取 Ubuntu 20.04 镜像
2. 列出本地镜像
docker images
3. 删除镜像
docker rmi ubuntu:20.04  # 删除指定镜像
4. 构建镜像

编写 Dockerfile

FROM ubuntu:20.04
RUN apt update && apt install -y nginx
CMD ["nginx", "-g", "daemon off;"]

构建镜像:

docker build -t my-nginx .

容器操作

1. 运行容器
docker run -d --name my-nginx -p 8080:80 my-nginx  # 后台运行容器
2. 列出运行中的容器
docker ps
3. 停止容器
docker stop my-nginx
4. 启动已停止的容器
docker start my-nginx
5. 进入容器
docker exec -it my-nginx /bin/bash  # 进入容器的交互式终端
6. 查看容器日志
docker logs my-nginx
7. 删除容器
docker rm my-nginx

网络操作

1. 创建网络
docker network create my-network
2. 列出网络
docker network ls
3. 将容器连接到网络
docker run -d --name my-app --network my-network my-app

数据卷操作

1. 创建数据卷
docker volume create my-volume
2. 列出数据卷
docker volume ls
3. 挂载数据卷到容器
docker run -d --name my-db -v my-volume:/var/lib/mysql mysql

Docker 高级应用

Docker Compose

Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。

1. 编写 docker-compose.yml
version: '3'
services:web:image: nginxports:- "8080:80"db:image: mysqlenvironment:MYSQL_ROOT_PASSWORD: example
2. 启动服务
docker-compose up -d
3. 停止服务
docker-compose down

Docker Swarm

Docker Swarm 是 Docker 的原生集群管理工具,用于管理多个 Docker 主机。

1. 初始化 Swarm
docker swarm init
2. 部署服务
docker service create --name my-web -p 8080:80 nginx
3. 查看服务
docker service ls

Dockerfile 优化

1. 多阶段构建
FROM golang:1.16 AS builder
WORKDIR /app
COPY . .
RUN go build -o my-app .FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/my-app .
CMD ["./my-app"]
2. 减少镜像层数

合并多个 RUN 命令:

RUN apt update && apt install -y \nginx \curl \&& rm -rf /var/lib/apt/lists/*

容器监控与日志

1. 使用 docker stats 监控资源
docker stats my-container
2. 使用 cAdvisor 监控容器
docker run -d --name cadvisor -p 8081:8080 --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw google/cadvisor
3. 使用 ELK 收集日志

部署 Elasticsearch、Logstash 和 Kibana 来集中管理容器日志。


案例实战

部署 Web 应用

1. 编写 Dockerfile
FROM node:14
WORKDIR /app
COPY package.json .
RUN npm install
COPY . .
CMD ["npm", "start"]
2. 构建并运行容器
docker build -t my-web-app .
docker run -d --name my-web-app -p 3000:3000 my-web-app

构建微服务架构

1. 编写 docker-compose.yml
version: '3'
services:web:image: my-web-appports:- "3000:3000"api:image: my-apiports:- "4000:4000"db:image: mysqlenvironment:MYSQL_ROOT_PASSWORD: example
2. 启动微服务
docker-compose up -d

CI/CD 集成

1. 在 GitHub Actions 中集成 Docker
name: CI/CD Pipeline
on: [push]
jobs:build:runs-on: ubuntu-lateststeps:- name: Checkout codeuses: actions/checkout@v2- name: Build Docker imagerun: docker build -t my-app .- name: Push Docker imagerun: docker push my-repo/my-app
2. 在 Jenkins 中集成 Docker
  • 安装 Docker 插件。
  • 在 Jenkins Pipeline 中添加 Docker 构建步骤。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com