docker 安装(建议收藏)

更新时间:

💡一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战(已更新的所有项目都能学习) / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论

  • 新开坑项目:《Spring AI 项目实战》 正在持续爆肝中,基于 Spring AI + Spring Boot 3.x + JDK 21..., 点击查看 ;
  • 《从零手撸:仿小红书(微服务架构)》 已完结,基于 Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...点击查看项目介绍 ;演示链接: http://116.62.199.48:7070 ;
  • 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/ ;

截止目前, 星球 内专栏累计输出 90w+ 字,讲解图 3441+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 3100+ 小伙伴加入学习 ,欢迎点击围观

在现代软件开发中,Docker 作为容器化技术的代表,已经成为开发、测试和部署环境的一站式解决方案。无论是构建微服务架构,还是解决多环境依赖冲突问题,Docker 都能通过标准化的容器技术简化流程。然而,对于编程初学者而言,docker 安装可能是接触这一技术的第一道门槛。本文将从基础概念出发,逐步引导读者完成 Docker 的安装与配置,并通过实际案例演示其核心功能,帮助读者快速掌握这一工具。


Docker 安装前的准备工作:概念解析与环境要求

什么是 Docker?

Docker 是一个开源的容器化平台,通过将应用程序及其依赖打包到一个独立的容器中,实现跨环境的一致性运行。想象一个集装箱(Container)——它能装载各种货物(应用程序),无论被运往何处(不同服务器或操作系统),内部环境始终一致。这就是 Docker 的核心思想:环境隔离与标准化

安装前的环境要求

Docker 支持多种操作系统,但需满足以下条件:

  1. 操作系统:主流 Linux 发行版(如 Ubuntu、CentOS)、macOS、Windows 10 或更高版本。
  2. 硬件资源:至少 2GB 内存和 10GB 硬盘空间(具体需求取决于容器规模)。
  3. 网络环境:安装过程中需连接互联网,用于下载官方镜像和组件。

Docker 安装步骤详解:分系统操作指南

Ubuntu 系统安装(以 Ubuntu 20.04 为例)

  1. 更新软件源并安装依赖

    sudo apt-get update  
    sudo apt-get install apt-transport-https ca-certificates curl software-properties-common  
    

    此处的命令类似于“清理房间并准备工具箱”,为后续安装打下基础。

  2. 添加 Docker 官方 GPG 密钥

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -  
    

    GPG 密钥的作用类似于“数字签名”,确保下载的软件包真实可信。

  3. 添加 Docker 源并安装

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"  
    sudo apt-get update  
    sudo apt-get install docker-ce docker-ce-cli containerd.io  
    
  4. 验证安装

    sudo docker run hello-world  
    

    若输出“Hello from Docker!”,则表示安装成功。


CentOS 系统安装(以 CentOS 7 为例)

  1. 禁用防火墙与 SELinux(非强制,但建议简化环境):

    sudo systemctl stop firewalld  
    sudo setenforce 0  
    
  2. 安装依赖包

    sudo yum install -y yum-utils device-mapper-persistent-data lvm2  
    
  3. 添加 Docker 源并安装

    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo  
    sudo yum install docker-ce docker-ce-cli containerd.io  
    
  4. 启动 Docker 服务

    sudo systemctl start docker  
    sudo systemctl enable docker  
    

macOS 与 Windows 系统安装

对于 macOS 或 Windows 用户,安装过程更为简单:

  1. 下载 Docker Desktop:访问 Docker 官网 ,根据系统类型下载安装包。
  2. 运行安装向导:按照提示完成安装,启动后 Docker 图标会出现在系统托盘/菜单栏。

安装后的配置与优化

配置镜像加速(以阿里云为例)

国内用户常因网络问题导致下载速度慢,可通过配置镜像加速器优化体验:

sudo mkdir -p /etc/docker  
sudo nano /etc/docker/daemon.json  

在文件中添加以下内容:

{  
  "registry-mirrors": ["https://<你的阿里云镜像加速器>.mirror.aliyuncs.com"]  
}  

保存后重启 Docker 服务:

sudo systemctl restart docker  

设置 Docker 开机自启

sudo systemctl enable docker  

调整资源限制(内存与 CPU)

若需限制容器资源,可在启动时指定参数:

docker run -m 512m --cpus=2 <镜像名>  

此处的 -m 控制内存,--cpus 控制 CPU 核心数,类似为容器分配“房间大小”。


实战案例:通过 Docker 快速搭建 Nginx 服务

拉取镜像并运行容器

docker pull nginx  

docker run -d -p 80:80 --name my-nginx nginx  

打开浏览器访问 http://localhost,即可看到 Nginx 的默认页面。

验证容器状态与日志

docker ps  

docker logs my-nginx  

常见问题与解决方案

问题 1:安装时提示权限不足

解决方法

sudo usermod -aG docker $USER  
newgrp docker  

问题 2:端口被占用导致容器无法启动

解决方法

sudo netstat -tulnp | grep :80  
sudo kill -9 <进程ID>  

问题 3:磁盘空间不足

解决方法

docker system prune -a  

进阶技巧:Docker Compose 管理多容器应用

Docker Compose 可简化多容器应用的部署。例如,创建一个 docker-compose.yml 文件:

version: '3'  
services:  
  web:  
    image: nginx  
    ports:  
      - "80:80"  
  db:  
    image: mysql:5.7  
    environment:  
      MYSQL_ROOT_PASSWORD: example  

执行以下命令启动:

docker-compose up -d  

结论:Docker 安装与应用的延伸价值

通过本文,读者已掌握 Docker 的安装方法、基础操作及实际应用。Docker 的核心价值不仅在于简化开发环境,更在于其对微服务架构、持续集成/交付(CI/CD)的赋能。建议读者通过以下方式进一步学习:

  1. 参考官方文档,深入理解 Dockerfile 编写与镜像构建。
  2. 实践部署个人项目,体会容器化带来的效率提升。
  3. 加入社区交流(如 Stack Overflow、Docker 官方论坛),解决复杂场景问题。

掌握 Docker 安装与使用,是迈向云原生时代的重要一步。希望本文能为你的技术旅程提供清晰的路径指引。

最新发布