您的位置:首页 > 汽车 > 新车 > 杭州律师_厦门建设工程信息网官网_免费网站推广软件下载_珠海seo推广

杭州律师_厦门建设工程信息网官网_免费网站推广软件下载_珠海seo推广

2025/4/24 4:23:45 来源:https://blog.csdn.net/2301_79556402/article/details/147357869  浏览:    关键词:杭州律师_厦门建设工程信息网官网_免费网站推广软件下载_珠海seo推广
杭州律师_厦门建设工程信息网官网_免费网站推广软件下载_珠海seo推广

文章目录

  • 前言
  • 1. Docker 容器是什么?
    • 隔离性
    • 轻量级
    • 可移植性
    • 可复用性
  • 2. Docker 核心概念
    • 镜像
    • 容器
    • 仓库
    • Dockerfile
  • 3. Docker 基本使用
    • (1) 安装 Docker
    • (2) 容器生命周期管理
    • (3) 镜像管理
    • (4) 进入容器内部
    • (5) 数据持久化(挂载卷)
    • (6) 网络管理
  • 4. Dockerfile 示例
  • 5. Docker 典型使用场景
    • 快速部署应用
    • 微服务架构
    • CI/CD流水线
    • 开发环境隔离
  • 6. 常见问题
    • 权限问题
    • 清理资源
    • 查看日志
  • 总结


前言

本文简单介绍了Docker容器的概念以及使用。


1. Docker 容器是什么?

Docker 容器是一种轻量级、可移植的虚拟化技术,允许开发者将应用程序及其依赖环境打包成一个独立的运行单元。容器基于 Docker 镜像运行,具有以下特点:

隔离性

隔离性:每个容器运行在独立的用户空间,互不干扰(基于 Linux 的 cgroups 和 namespaces)。

轻量级

轻量级:与虚拟机(VM)相比,容器共享主机 OS 内核,无需额外运行完整的操作系统,启动更快、占用资源更少。

可移植性

可移植性:容器可以在任何支持 Docker 的环境中运行(开发、测试、生产环境一致)。

可复用性

可复用性:容器镜像可以存储在仓库(如 Docker Hub)中,供他人下载使用

2. Docker 核心概念

镜像

镜像(Image) 只读模板,包含运行容器所需的代码、库、环境变量等(如 ubuntu:20.04)。

容器

容器(Container) 镜像的运行实例,具有可写层(存储运行时数据)。

仓库

仓库(Registry) 存储镜像的服务,如 Docker Hub(公共仓库)或私有仓库(如 Harbor)。

Dockerfile

Dockerfile 文本文件,定义如何构建镜像(通过 docker build 命令)。

3. Docker 基本使用

(1) 安装 Docker

Linux(Ubuntu):
sudo apt update
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker
Windows/macOS:下载 Docker Desktop。验证安装:
docker --version  # 查看版本
docker run hello-world  # 运行测试容器

(2) 容器生命周期管理

命令 作用

docker run <镜像>	创建并启动容器(如 docker run nginx)
docker start <容器ID>	启动已停止的容器
docker stop <容器ID>	停止运行中的容器
docker restart <容器ID>	重启容器
docker rm <容器ID>	删除容器
docker ps	查看运行中的容器(加 -a 显示所有)

示例:

docker run -d -p 80:80 --name my_nginx nginx  # 后台运行Nginx并映射端口80
docker ps  # 查看容器
docker stop my_nginx  # 停止容器

(3) 镜像管理

命令 作用

docker pull <镜像名>	下载镜像(如 docker pull ubuntu)
docker images	查看本地镜像
docker rmi <镜像ID>	删除镜像
docker build -t <镜像名> .	通过 Dockerfile 构建镜像(需在Dockerfile所在目录运行)

示例:

docker pull alpine:latest  # 下载Alpine Linux镜像
docker images  # 列出镜像
docker rmi alpine  # 删除镜像

(4) 进入容器内部

docker exec -it <容器ID> /bin/bash  # 交互式进入容器
参数说明:
-i:保持交互式输入。
-t:分配伪终端(TTY)。
/bin/bash:启动Shell(根据镜像可能为 /bin/sh)。

(5) 数据持久化(挂载卷)

容器默认是临时存储,重启后数据丢失。需通过卷(Volume)或绑定挂载持久化数据:

docker run -v /宿主机路径:/容器路径 <镜像>  # 绑定挂载
docker run -v 卷名:/容器路径 <镜像>        # 使用Docker卷
示例:
docker run -v /home/user/data:/var/www/html nginx  # 挂载主机目录

(6) 网络管理

命令 作用

docker network ls	查看网络列表
docker network create	创建自定义网络
docker run --network	指定容器网络(如 --network=host 使用主机网络)

示例:

docker network create my_net  # 创建网络
docker run --network=my_net --name app1 my_app  # 容器使用自定义网络

4. Dockerfile 示例

通过 Dockerfile 自定义镜像:

# 基于Ubuntu镜像
FROM ubuntu:20.04# 安装依赖
RUN apt update && apt install -y python3# 复制本地文件到容器
COPY app.py /app/
# 设置工作目录
WORKDIR /app
# 定义启动命令
CMD ["python3", "app.py"]
构建镜像:
docker build -t my_python_app .

5. Docker 典型使用场景

快速部署应用

快速部署应用:**一键运行数据库(MySQL)、Web服务器(Nginx)**等。

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123 mysql:5.7

微服务架构

微服务架构:每个服务运行在独立容器中,通过网络通信。

CI/CD流水线

CI/CD 流水线:在容器中运行测试和构建,确保环境一致。

开发环境隔离

开发环境隔离:避免“在我机器上能运行”问题。

6. 常见问题

权限问题

权限问题:在 Linux 上,非 root 用户需加入 docker 组

sudo usermod -aG docker $USER

清理资源

清理资源:

docker system prune  # 删除无用镜像、容器、网络

查看日志

查看日志:

docker logs <容器ID>

总结

Docker 容器通过标准化环境,极大提升了开发、部署的效率
核心步骤:
1.拉取镜像 → 2. 运行容器 → 3. 管理生命周期 → 4. 自定义镜像(Dockerfile) → 5. 持久化数据/配置网络。
掌握这些基础操作后,可进一步学习 Docker Compose(多容器编排)和 Kubernetes(容器集群管理)。


版权声明:

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

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