Linux-Tutorial 项目中的 Docker 快速入门指南

Linux-Tutorial 项目中的 Docker 快速入门指南

linux-tutorial :penguin: Linux教程,主要内容:Linux 命令、Linux 系统运维、软件运维、精选常用Shell脚本 linux-tutorial 项目地址: https://gitcode.com/gh_mirrors/lin/linux-tutorial

为什么选择 Docker

Docker 是一个革命性的容器化技术,它允许开发者将应用程序及其所有依赖项打包到一个标准化的单元中,从而实现"一次构建,随处运行"的理念。通过 Docker,开发者可以:

  • 使用任何编程语言和工具链构建应用
  • 确保应用在不同环境(开发、测试、生产)中的一致性
  • 快速部署和扩展应用
  • 轻松共享和协作开发

Docker 基础概念

容器与镜像

  • 镜像(Image):类似于虚拟机的模板,包含运行应用所需的所有文件和配置
  • 容器(Container):镜像的运行实例,类似于轻量级的虚拟机

核心组件

  • Docker 引擎:核心服务进程
  • Docker 官方仓库:官方镜像仓库
  • Docker Compose:多容器应用编排工具
  • Docker Swarm:原生集群管理工具

Docker 安装与配置

安装 Docker

Docker 提供社区版(CE)和企业版(EE),个人开发者通常使用 CE 版本。安装方法因操作系统而异:

  1. Linux 系统(以 Ubuntu 为例):

    sudo apt-get update
    sudo apt-get install docker-ce docker-ce-cli containerd.io
    
  2. Windows/macOS: 下载 Docker Desktop 安装包并按照向导安装

配置镜像加速

国内用户建议配置镜像加速以提升下载速度:

  1. 创建或修改 /etc/docker/daemon.json 文件
  2. 添加以下内容(以网易云镜像为例):
    {
      "registry-mirrors": ["https://hub-mirror.c.163.com"]
    }
    
  3. 重启 Docker 服务:
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    

容器操作指南

容器生命周期管理

  • 创建并运行容器

    docker run -it ubuntu /bin/bash
    
  • 查看运行中的容器

    docker ps
    
  • 停止容器

    docker stop <容器ID>
    
  • 删除容器

    docker rm <容器ID>
    

资源限制

  • 限制内存使用

    docker run -it -m 300M ubuntu /bin/bash
    
  • 限制 CPU 使用

    docker run -it --cpus 0.5 ubuntu /bin/bash
    

镜像管理

常用命令

  • 拉取镜像

    docker pull ubuntu:18.04
    
  • 查看本地镜像

    docker images
    
  • 删除镜像

    docker rmi ubuntu:18.04
    

构建自定义镜像

通过 Dockerfile 构建镜像:

  1. 创建 Dockerfile 文件
  2. 编写构建指令
  3. 执行构建命令:
    docker build -t my-image .
    

网络与端口

端口映射

将容器端口映射到主机端口:

docker run -p 8080:80 nginx

容器间通信

创建自定义网络并连接容器:

docker network create my-network
docker run --net=my-network --name container1 my-image
docker run --net=my-network --name container2 my-image

Dockerfile 最佳实践

基础指令

FROM ubuntu:18.04
LABEL maintainer="your.email@example.com"
RUN apt-get update && apt-get install -y python3
COPY . /app
WORKDIR /app
CMD ["python3", "app.py"]

优化建议

  1. 使用 .dockerignore 文件排除不必要的文件
  2. 合并 RUN 指令减少镜像层数
  3. 按依赖频率排序指令,利用缓存
  4. 使用多阶段构建减小镜像体积

安全注意事项

  1. 避免使用 root 用户运行容器
  2. 定期更新基础镜像
  3. 限制容器资源使用
  4. 使用只读文件系统:
    docker run --read-only -it ubuntu /bin/bash
    

常见问题解决

  1. 容器启动后立即退出

    • 确保有前台进程运行
    • 使用 -it 参数保持交互
  2. 权限问题

    • 使用 --user 指定非 root 用户
    • 适当设置文件权限
  3. 存储空间不足

    • 定期清理无用镜像和容器
    • 调整 Docker 存储驱动配置

进阶学习建议

  1. 学习 Docker Compose 管理多容器应用
  2. 了解 Kubernetes 容器编排
  3. 探索 CI/CD 中的 Docker 应用
  4. 研究微服务架构与容器化的结合

通过掌握这些 Docker 基础知识,您已经具备了使用容器技术的基本能力。随着实践的深入,您会发现 Docker 在现代应用开发和部署中的强大威力。

linux-tutorial :penguin: Linux教程,主要内容:Linux 命令、Linux 系统运维、软件运维、精选常用Shell脚本 linux-tutorial 项目地址: https://gitcode.com/gh_mirrors/lin/linux-tutorial

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

祖崧革

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值