00305 Docker入门教程及常见操作指南


前言

Docker入门教程及常见操作指南。

Operating System: Ubuntu 22.04.4 LTS

参考文档

  1. Install Docker Engine
  2. Install Docker Engine on Ubuntu

Docker基础概念

  1. 镜像(Image):只读模板,包含运行环境和应用程序
  2. 容器(Container):镜像的运行实例
  3. 仓库(Registry):存储镜像的服务器(默认Docker Hub)

安装Docker

  1. Install Docker Engine
  2. Install Docker Engine on Ubuntu

常用操作

镜像管理

# 拉取镜像
docker pull nginx:latest

# 查看本地镜像
docker images

# 删除镜像
docker rmi <image_id>

# 构建镜像(需Dockerfile)
docker build -t my-image:1.0 .

容器操作

# 运行容器(前台模式)
docker run -it ubuntu /bin/bash

# 运行容器(后台模式)
docker run -d -p 80:80 --name my-nginx nginx

# 查看运行中的容器
docker ps

# 查看所有容器
docker ps -a

# 停止容器
docker stop <container_id>

# 启动已停止的容器
docker start <container_id>

# 进入运行中的容器
docker exec -it <container_id> /bin/bash

# 删除容器
docker rm <container_id>

网络管理

# 创建自定义网络
docker network create my-network

# 使用自定义网络运行容器
docker run -d --network my-network --name app1 my-app

数据持久化

# 创建数据卷
docker volume create my-vol

# 使用数据卷
docker run -d -v my-vol:/data --name db mysql

# 绑定主机目录
docker run -d -v /host/path:/container/path nginx

Dockerfile示例

FROM python:3.9-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
EXPOSE 8000
CMD ["python", "app.py"]

实用技巧

  1. 清理无用资源:

    docker system prune
  2. 查看容器日志:

    docker logs -f <container_id>
  3. 查看容器资源使用:

    docker stats
  4. 保存/加载镜像:

    docker save -o my-image.tar my-image:1.0
    docker load -i my-image.tar

常见问题

  1. 权限问题:确保用户属于docker组
  2. 端口冲突:检查-p参数设置的端口是否被占用
  3. 数据丢失:使用volume持久化重要数据
  4. 中文乱码:在Dockerfile中添加:
ENV LANG C.UTF-8

建议通过实际项目练习来巩固这些操作,后续可以学习:

  • 容器编排(Kubernetes)
  • 镜像优化技巧
  • 容器安全实践
  • 持续集成/交付(CI/CD)集成

结语

第三百零五篇博文写完,开心!!!!

今天,也是充满希望的一天。


文章作者: LuYF-Lemon-love
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 LuYF-Lemon-love !
  目录