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

Docker快速入门与应用

1. 什么是 Docker?

Docker 就像一个“魔法箱子”,可以把你开发的应用(代码、环境、配置)‌打包成一个标准化的容器‌,这个容器可以在任何支持 Docker 的系统上运行,无需担心环境差异导致的问题。

‌类比‌:想象你要搬家,把衣服、家具、电器全部装进标准尺寸的集装箱。无论用船、火车还是卡车运输,集装箱都能被统一处理。Docker 容器就是这个“集装箱”,你的应用是里面的物品,Docker 引擎是运输工具。

2. Docker 的核心概念

‌镜像(Image)‌:容器的“模板”,比如一个装好 Python 和代码的镜像。
‌容器(Container)‌:镜像运行时的实例(就像“启动一个程序”)。
‌仓库(Registry)‌:存储镜像的地方,比如 Docker Hub(类似手机的应用商店)。
如何在 Linux 上安装 Docker?

步骤 1:安装 Docker

以 ‌Ubuntu/Debian‌ 为例(其他系统类似):

1. 卸载旧版本(如有)

sudo apt remove docker docker-engine docker.io containerd runc

2. 安装依赖工具

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

3. 添加 Docker 官方 GPG 密钥

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

4. 添加仓库

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

5. 安装 Docker

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io

6. 验证安装

sudo docker run hello-world

如果看到 Hello from Docker!,说明安装成功!

如何使用 Docker?

场景 1:运行一个 Nginx 容器

拉取镜像(从 Docker Hub)

docker pull nginx

运行容器(映射主机 8080 端口到容器的 80 端口)

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

访问 http://localhost:8080 即可看到 Nginx 欢迎页

场景 2:自定义镜像(Dockerfile)

1.创建一个 Dockerfile 文件:

# 使用 Python 官方镜像作为基础
FROM python:3.9
# 拷贝代码到容器
COPY app.py /app/
# 安装依赖
RUN pip install flask
# 设置启动命令
CMD ["python", "/app/app.py"]

2.构建镜像并运行:

docker build -t my-python-app .
docker run -d -p 5000:5000 my-python-app

场景 3:数据持久化(挂载目录)

将主机的 /data 目录挂载到容器的 /app/data

docker run -d -v /data:/app/data --name my-data-container nginx

常用命令速查

命令			作用
docker ps	查看运行中的容器
docker images	查看本地镜像
docker stop <容器名>	停止容器
docker rm <容器名>	删除容器
docker rmi <镜像名>	删除镜像

进阶工具:Docker Compose

用于管理多个容器(如同时运行 Web + 数据库):

1安装 Docker Compose:

sudo curl -L "https://github.com/docker/compose/releases/latest/download/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:- "8080:80"db:image: mysqlenvironment:MYSQL_ROOT_PASSWORD: 123456

启动服务:

docker-compose up -d

为什么用 Docker?
‌环境一致性‌:开发、测试、生产环境完全一致。
‌快速部署‌:秒级启动容器。
‌资源高效‌:多个容器共享系统内核,比虚拟机更轻量。

http://www.xdnf.cn/news/415027.html

相关文章:

  • 基于Arduino的贪吃蛇游戏机
  • 位运算题目:黑板异或游戏
  • 火山云网站搭建
  • AES-128 加密与解密详解
  • 分享AI时代数据智能人才定向就业班(暑期班)
  • 【Linux 系统调试】syslog:Linux 系统日志工具详解
  • DAY22kaggle泰坦尼克号
  • 手写 vue 源码 === watch 实现
  • 学习黑客5分钟深入浅出理解系列之Windows compmgmt
  • 配置Hadoop集群-免密登录
  • dfs第二次加训 详细题解 下
  • STM32G474VET6-CAN FD使用经典模式+过滤报文ID
  • ESOP系统如何帮助玩具工厂实现生产数据实时展示
  • rufus+Ubuntu 18.04 镜像
  • Promise/A+ 规范中文解读
  • Matlab基于PSO-MVMD粒子群算法优化多元变分模态分解
  • 【C语言指针超详解(五)】--回调函数,qsort函数的理解和使用,qsort函数的模拟实现
  • 类神经网络训练失败怎么办?
  • 中央处理器(CPU)(概述、指令周期)
  • 阿里云服务器核心用途解析:从基础应用到行业创新​
  • c++刷题便捷函数(类似于stoi的小函数)
  • 超越合并速度(merge speed):AI如何重塑开发者协作
  • Hadoop集群的常用命令
  • axi uart 16550 ip core使用流程
  • 一、HAL库的设计理念详解:从架构到实践
  • 274、H指数
  • StringBuilder,StringJoiner,StringBuffer字符串处理类深度解析
  • 从零到精通:GoFrame 的 garray 模块深度解析与实战经验分享
  • Nacos源码—8.Nacos升级gRPC分析五
  • 【K8S学习之生命周期钩子】详细了解 postStart 和 preStop 生命周期钩子