Docker 简介

Docker 是一个开源的容器化平台,用于开发、部署和运行应用程序。它通过容器(Container)技术将应用程序及其依赖项打包成标准化单元,实现跨环境的一致性运行。

核心概念

  • 镜像(Image):只读模板,包含运行应用程序所需的文件系统和配置。
  • 容器(Container):镜像的运行实例,具有独立的进程空间和文件系统。
  • Dockerfile:文本文件,定义如何构建镜像。
  • Docker Hub:公共镜像仓库,提供预构建的镜像。

安装 Docker

  1. Linux(以 Ubuntu 为例):
    sudo apt update
    sudo apt install docker.io
    sudo systemctl start docker
    sudo systemctl enable docker
    

  2. macOS/Windows
    下载 Docker Desktop 并安装。

常用命令

  • 镜像操作

    # 拉取镜像
    docker pull nginx:latest
    # 列出本地镜像
    docker images
    # 删除镜像
    docker rmi nginx
    

  • 容器操作

    # 启动容器
    docker run -d -p 80:80 --name my_nginx nginx
    # 查看运行中的容器
    docker ps
    # 停止容器
    docker stop my_nginx
    # 进入容器终端
    docker exec -it my_nginx bash
    

  • 构建镜像
    创建 Dockerfile 文件:

    FROM ubuntu:20.04
    RUN apt update && apt install -y python3
    CMD ["python3", "--version"]
    

    构建并运行:

    docker build -t my_python .
    docker run my_python
    

网络与存储

  • 网络模式

    # 创建自定义网络
    docker network create my_net
    # 指定网络运行容器
    docker run --network=my_net nginx
    

  • 数据卷

    # 挂载主机目录
    docker run -v /host/path:/container/path nginx
    # 创建匿名卷
    docker volume create my_volume
    

实际应用场景

  1. 微服务部署:将每个服务打包为独立容器,通过 Docker Compose 编排。
  2. CI/CD 流水线:在测试和生产环境中使用相同镜像保证一致性。
  3. 开发环境隔离:避免“在我机器上能运行”的问题。

常见问题排查

  • 权限问题:在 Linux 中,将用户加入 docker 组:
    sudo usermod -aG docker $USER
    

  • 端口冲突:检查主机端口是否被占用,或调整映射端口(如 -p 8080:80)。
  • 资源限制:通过 --memory--cpus 参数限制容器资源。

通过掌握这些基础操作和概念,可以快速利用 Docker 提升开发和部署效率。

Logo

一座年轻的奋斗人之城,一个温馨的开发者之家。在这里,代码改变人生,开发创造未来!

更多推荐