Docker快速入门与应用

发布于:2025-05-13 ⋅ 阅读:(15) ⋅ 点赞:(0)

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: nginx
    ports:
      - "8080:80"
  db:
    image: mysql
    environment:
      MYSQL_ROOT_PASSWORD: 123456

启动服务:

docker-compose up -d

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


网站公告

今日签到

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