《Docker 零基础入门到实战:容器化部署如此简单,运维效率直接拉满》

发布于:2025-09-05 ⋅ 阅读:(17) ⋅ 点赞:(0)

相信你对封面图上的「Docker 鲸鱼」图标并不陌生 —— 它正是解决「开发环境能跑,生产环境崩了」的容器化神器!Docker 通过打包应用与依赖到轻量容器,实现了「一次构建,到处运行」,彻底消除环境不一致的痛点。本文从 Docker 核心概念(镜像 / 容器 / 仓库)讲起,手把手教你安装配置、构建自定义镜像、Docker Compose 编排多容器,最后附上 SpringBoot 项目容器化部署的完整实战,让运维小白也能快速上手容器技术!

为什么使用docker

之前都是用Linux+centos(Iso镜像)得到一个可以使用的linux系统

然后配置数据库 ,nginx 等

这种方式部署慢,成本高,造成了资源的浪费,并且难于迁移和扩展

并且之前的虚拟化技术(vmware,kvm)的目标都是一台完整的计算机

而我们的需求仅仅是想使用多个应用程序,让他们相互独立,而不是得到一台完整的系统

docker使用容器技术对进程进行封装隔离

Docker 简介

Docker 是一种容器化技术,允许开发者将应用程序及其依赖打包到一个轻量级、可移植的容器中。容器与虚拟机不同,它直接运行在宿主机的操作系统上,共享系统内核,因此更加高效和快速。

安装 Docker

  1. Windows/macOS

    • 下载 Docker Desktop(官网链接),安装后启动。
    • 确保启用 WSL 2(Windows)或 HyperKit(macOS)。
  2. Linux(Ubuntu)

    sudo apt update
    sudo apt install docker.io
    sudo systemctl start docker
    sudo systemctl enable docker
    
    • 验证安装:docker --version

基本概念

  • 镜像(Image):只读模板,用于创建容器。
  • 容器(Container):镜像的运行实例,包含应用程序和运行环境。
  • Dockerfile:文本文件,定义如何构建镜像。

举例:程序员在写好代码之后,要交给测试人员代码,此时测试人员没有环境和依赖,所以程序员会开发dockerfile脚本,完成的效果就是将代码,依赖和环境全部打包为一个镜像文件(image),测试人员直接运行这个镜像就可以运行

容器

1. 容器内没有自己的内核,也没有对硬件进行虚拟,Docker引擎容器仅包含应用程序及其依赖项,他在主机操作系统的用户控件中作为一个独立的进程运行,与其他容器共享内核,因此容器中的程序直接运行在宿主机上,能够使用宿主机最大的硬件资源

2. 一个宿主机可以启动100+的容器数量,并且启动一个容器的时间只需要1S

拉取第一个容器

  1. 拉取官方测试镜像:
    docker pull hello-world
    
  2. 运行容器:
    docker run hello-world
    
    • 输出 Hello from Docker! 表示成功。

构建自定义镜像

  1. 创建 Dockerfile 文件:
    FROM alpine:latest
    CMD echo "Hello, Docker!"
    
  2. 构建镜像:
    docker build -t my-image .
    
  3. 运行容器:
    docker run my-image
    

管理容器和镜像

  • 查看运行中的容器:docker ps
  • 查看所有容器:docker ps -a
  • 停止容器:docker stop <容器ID>
  • 删除容器:docker rm <容器ID>
  • 列出镜像:docker images
  • 删除镜像:docker rmi <镜像名>

数据持久化(卷挂载)

  • 将主机目录挂载到容器:
    docker run -v /host/path:/container/path my-image
    

网络配置

  • 映射容器端口到主机:
    docker run -p 8080:80 nginx
    
    • 访问 http://localhost:8080 可看到 Nginx 默认页面。

常用命令速查

命令 功能 示例
docker run 启动一个新的容器并运行命令 docker run -d ubuntu
docker ps 列出当前正在运行的容器 docker ps
docker ps -a 列出所有容器(包括已停止的容器) docker ps -a
docker search 寻找镜像 docker search 镜像名
docker build 使用 Dockerfile 构建镜像 docker build -t my-image .
docker images 列出本地存储的所有镜像 docker images
docker pull 从 Docker 仓库拉取镜像 docker pull ubuntu
docker push 将镜像推送到 Docker 仓库 docker push my-image
docker stop 停止一个或多个容器 docker stop container_name
docker start 启动已停止的容器 docker start container_name
docker restart 重启一个容器 docker restart container_name
docker rmi 删除一个或多个镜像 docker rmi my-image
docker logs 查看容器的日志 docker logs container_name
docker version 显示 Docker 客户端和守护进程的版本信息 docker version
docker  pause 暂停容器中的所有进程 docker pause my_container
docker create  创建一个新的容易,但不会启动它 docker create ubuntu
docker run -it 启动一个容器并进入终端 docker run -it ubuntu bash
  • -i: 交互式操作。
  • -t: 终端。

要退出终端,直接输入 exit:

ubuntu 镜像。

/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。
docker exec -it 进入在后台运行的容器 docker exec -it ubuntu bash

网站公告

今日签到

点亮在社区的每一天
去签到