问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Docker 入门指南:一篇搞定核心概念与使用

创作时间:
作者:
@小白创作中心

Docker 入门指南:一篇搞定核心概念与使用

引用
百度
1.
https://baijiahao.baidu.com/s?id=1823551905022235969

一、为什么用 Docker?

  • 环境一致性:开发、测试、生产环境一致,避免“在我机器上能跑”的问题。
  • 隔离性:容器相互隔离,资源独立,避免依赖冲突。
  • 快速部署:秒级启动,简化 CI/CD 流程。
  • 轻量高效:与传统虚拟机相比,资源占用更少,性能更高。

二、核心概念

  1. 镜像(Image)
  • 静态的模板,包含应用和运行环境(如 Ubuntu + Nginx + 代码)。
  • 类似“安装包”,用于创建容器。
  1. 容器(Container)
  • 镜像的运行实例,一个独立进程。
  • 可启动、停止、删除,资源隔离。
  1. 仓库(Registry)
  • 存储镜像的地方,如 Docker Hub(官方仓库)或私有仓库。

三、安装 Docker

Ubuntu/CentOS

# 一键安装脚本(官方推荐)
curl -fsSL https://get.docker.com | bash -s docker
# 启动 Docker 服务
sudo systemctl start docker
# 设置开机自启
sudo systemctl enable docker

Windows/macOS
下载Docker Desktop安装即可(图形化界面)。

四、快速上手

运行第一个容器

# 下载官方 Nginx 镜像
docker pull nginx
# 运行容器(-d 后台运行,-p 端口映射)
docker run -d -p 80:80 --name my-nginx nginx

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

常用命令

docker ps # 查看运行中的容器
docker ps -a # 查看所有容器(包括已停止的)
docker stop <容器名> # 停止容器
docker start <容器名> # 启动已停止的容器
docker rm <容器名> # 删除容器
docker images # 查看本地镜像
docker rmi <镜像名> # 删除镜像

五、自定义镜像(Dockerfile)

编写 Dockerfile
示例:打包一个 Python 应用

# 使用官方 Python 基础镜像
FROM python:3.9-slim
# 设置工作目录
WORKDIR /app
# 复制代码到容器
COPY . .
# 安装依赖
RUN pip install -r requirements.txt
# 启动命令
CMD ["python", "app.py"]

构建镜像

docker build -t my-python-app:latest .

运行容器

docker run -d -p 5000:5000 my-python-app

六、数据持久化(Volume)

挂载本地目录到容器

docker run -d -v /宿主机目录:/容器目录 mysql

创建 Docker 卷

docker volume create my-vol
docker run -d -v my-vol:/容器目录 mysql

七、容器网络

  1. 默认网络
  • 容器默认通过 bridge 网络通信。

自定义网络

docker network create my-net
docker run -d --network my-net --name web nginx
docker run -d --network my-net --name db mysql
  • 同一网络内的容器可通过容器名互相访问(如 web 访问 db:3306)。

八、Docker Compose(多容器编排)

编写 docker-compose.yml
示例:启动一个 WordPress + MySQL 应用

version: '3'
services:
  db:
    image: mysql:5.7
    volumes:
- db_data:/var/lib/mysql
    environment:
     MYSQL_ROOT_PASSWORD: example
  wordpress:
    image: wordpress:latest
    ports:
- "8000:80"
    environment:
     WORDPRESS_DB_HOST: db
     WORDPRESS_DB_PASSWORD: example
volumes:
  db_data:

启动服务

docker-compose up -d # 启动
docker-compose down # 停止并清理

九、实用技巧

清理无用资源

docker system prune -a --volumes

查看日志

docker logs -f <容器名>

进入容器调试

docker exec -it <容器名> /bin/bash

十、常见问题

权限问题:在 Linux 上,普通用户运行 Docker 需加入 docker 用户组:

sudo usermod -aG docker $USER

端口冲突:修改 -p 宿主机端口:容器端口 中的宿主机端口。

镜像下载慢:配置国内镜像源(如阿里云镜像加速器)。

总结:掌握以上内容,你已能应对 90% 的 Docker 使用场景!动手实践是关键,尝试打包自己的应用并发布到 Docker Hub 吧!

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号