当前位置: 首页 > news >正文

10分钟学会Docker的安装和使用

前言

在现代软件开发中,Docker作为一种轻量级的容器化技术,已成为开发者必备的工具之一。本文将带您在10分钟内快速掌握Docker的安装和基本使用方法。

1. Docker是什么?

Docker是一种开源的容器化平台,它通过将应用程序及其所有依赖项打包到一个标准化的单元中,使应用程序能够在任何环境下平稳运行。Docker容器具有轻量、便携和高效的特点,非常适合开发、测试和部署等环节。

2. Docker的安装

2.1 准备工作

在开始安装Docker之前,请确保您的操作系统满足以下要求:

  • Windows: Windows 10 64-bit: Pro, Enterprise, or Education (Build 15063 or later) 或 Windows Server 2016 以上版本。
  • macOS: macOS 10.14 或更高版本。
  • Linux: 支持绝大多数Linux发行版,如Ubuntu、CentOS等。

2.2 安装步骤

Windows
  1. 下载Docker Desktop: 请访问Docker官方页面下载Docker Desktop安装包。
  2. 安装Docker Desktop: 双击下载的安装包,按照提示完成安装过程。
  3. 启动Docker Desktop: 安装完成后,启动Docker Desktop,确保其正常运行。
macOS
  1. 下载Docker Desktop: 前往Docker官网下载适用于macOS的Docker Desktop。
  2. 安装Docker Desktop: 打开下载的.dmg文件,将Docker图标拖入Applications文件夹。
  3. 启动Docker Desktop: 打开Applications文件夹中的Docker应用,并根据提示完成初始配置。
Linux (以Ubuntu为例)
  1. 更新APT包索引:
    sudo apt-get update
    
  2. 安装必要的包:
    sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
    
  3. 添加Docker的官方GPG密钥:
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
  4. 设置稳定版本的Docker仓库:
    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    
  5. 安装Docker Engine:
    sudo apt-get update
    sudo apt-get install docker-ce docker-ce-cli containerd.io
    
  6. 启动Docker并设置开机自启:
    sudo systemctl start docker
    sudo systemctl enable docker
    

3. Docker的基本使用

3.1 运行一个简单的Docker容器

Docker的一个核心概念是镜像(Image)。镜像是一个只读的模板,用于创建Docker容器。让我们通过运行一个简单的Hello World程序来了解Docker的基本使用。

  1. 拉取镜像:

    docker pull hello-world
    
  2. 运行容器:

    docker run hello-world
    

运行以上命令后,Docker会从Docker Hub上拉取hello-world镜像并启动容器。您将看到一个Hello World的消息,表明Docker容器已成功运行。

3.2 管理Docker容器

查看正在运行的容器
docker ps
查看所有容器(包括已停止的)
docker ps -a
停止一个容器
docker stop [CONTAINER_ID]
删除一个容器
docker rm [CONTAINER_ID]

3.3 使用Docker Compose(可选)

Docker Compose是一种用于定义和运行多容器Docker应用的工具。通过一个YAML文件,您可以配置应用程序服务。

  1. 安装Docker Compose:
    Docker Desktop自带Compose工具,Linux用户可以通过以下命令安装:

    sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
    
  2. 创建docker-compose.yml文件:

    version: '3'
    services:web:image: nginxports:- "80:80"
    
  3. 启动服务:

    docker-compose up
    

4. 结论

通过本文的学习,您应该已经掌握了Docker的基本安装和使用方法。Docker的强大功能远不止于此,建议您在实际项目中尝试更多高级特性,如Docker网络、数据卷、以及与CI/CD集成等。

希望这篇文章能帮助您开启Docker学习之旅,提升开发效率。欢迎在评论区分享您的使用心得或问题!


作者: FLK_9090
CSDN博客: https://blog.csdn.net/FLK_9090
Gitee: https://gitee.com/fantasy_5

相关文章:

  • 概述:Dubbo、Nacos、 Zookeeper 等分布式服务协调与治理等技术
  • WUP-CH34X ch34x系列芯片USB转串口通信uniapp插件使用说明
  • leetcode算法刷题记录--7
  • 编程新手必看:彻底理解!与~的取反操作
  • [C++][opencv]基于opencv实现photoshop算法色阶调整
  • 职场英语培训柯桥外语学校学外语学英语到银泰泓畅学校
  • 【Python学习手册(第四版)】学习笔记19-函数的高级话题
  • 虚拟机macos安装brew、llvm并使用cmake构建项目
  • vue3前端开发-小兔鲜项目-添加购物车操作第一步
  • 59.螺旋矩阵II54.螺旋矩阵
  • Langchain框架深度剖析:解锁大模型-RAG技术的无限潜能,引领AI应用新纪元
  • css水波浪动画效果
  • (回溯) LeetCode 46. 全排列
  • 如何用 CocosCreator 对接抖音小游戏的侧边栏复访
  • 排查MAC地址是否冲突——arping工具详解
  • Apache Spark Streaming 使用实例
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • docker python 配置
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • JavaScript 基础知识 - 入门篇(一)
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • 基于webpack 的 vue 多页架构
  • 跨域
  • 如何在 Tornado 中实现 Middleware
  • 深度学习入门:10门免费线上课程推荐
  • 一个JAVA程序员成长之路分享
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • ​油烟净化器电源安全,保障健康餐饮生活
  • !!Dom4j 学习笔记
  • #QT(智能家居界面-界面切换)
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • (3) cmake编译多个cpp文件
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (C语言)fgets与fputs函数详解
  • (LeetCode 49)Anagrams
  • (solr系列:一)使用tomcat部署solr服务
  • (回溯) LeetCode 131. 分割回文串
  • (一)基于IDEA的JAVA基础1
  • ..回顾17,展望18
  • .NET 5.0正式发布,有什么功能特性(翻译)
  • .NET C# 配置 Options
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .Net Core 微服务之Consul(三)-KV存储分布式锁
  • .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
  • .Net6 Api Swagger配置
  • .NET设计模式(8):适配器模式(Adapter Pattern)
  • @Transactional 竟也能解决分布式事务?
  • @Value读取properties中文乱码解决方案
  • [ CTF ] WriteUp-2022年春秋杯网络安全联赛-冬季赛
  • []C/C++读取串口接收到的数据程序
  • [20190113]四校联考
  • [2669]2-2 Time类的定义
  • [Android Pro] Notification的使用
  • [Android]Android开发入门之HelloWorld
  • [BSidesCF 2019]Kookie1