【docker】#1 | Docker 初识

简介:Docker 第一课基础知识点整理,适合课后复习,包含 Docker 概念、安装、镜像容器原理、docker run 命令详解、MySQL/Nginx 容器示例。

一、Docker 是什么

Docker 是快速构建、运行、管理应用的运维工具,主要用于项目部署。 后端开发人员也需要参与开发环境部署。

传统部署痛点

在没有 Docker 之前,部署项目一般依靠 Linux 脚本、手动安装依赖,整个部署流程繁琐,环境容易出现 "本地能跑,服务器跑不起来" 的问题。 Docker 可以实现一键部署应用。

二、Docker 学习路线

  1. Docker 基础概念
  2. 项目容器化部署

三、Docker 安装(Linux 环境)

Docker 安装在 Linux 系统中。

复制代码
# 启动docker
systemctl start docker
# 停止docker
systemctl stop docker

推荐配置阿里云镜像加速,提升镜像下载速度,加载对应配置文件生效。

四、实战:Docker 部署 MySQL

前提:虚拟机已安装 Docker、网络正常,先关闭宿主机原有 MySQL 服务。 执行命令创建并启动 MySQL 容器:

复制代码
docker run -d \
  --name mysql \
  -p 3306:3306 \
  -e TZ=Asia/Shanghai \
  -e MYSQL_ROOT_PASSWORD=123 \
  mysql

参数详解

  • -d:后台守护进程运行容器
  • --name mysql:给容器命名为 mysql,容器名称全局唯一
  • -p 3306:3306:端口映射,宿主机 3306 端口映射到容器内部 3306 端口
  • -e TZ=Asia/Shanghai:设置时区为上海,解决数据库时间不一致问题
  • -e MYSQL_ROOT_PASSWORD=123:设置 root 账号密码为 123
  • mysql:指定使用 mysql 镜像启动容器

执行命令后,虚拟机客户端即可连接使用,MySQL 环境一键部署完成。

五、核心概念:镜像 & 容器

  1. 镜像(image) 使用 Docker 安装应用时,Docker 会自动搜索、下载镜像。 镜像里面包含:应用程序本身 + 运行所需环境、配置、系统函数库。
  2. 容器(container) Docker 运行镜像的时候,会创建一个隔离的运行环境,这个隔离环境就是容器。 一个镜像可以多次启动,生成多个独立容器。
  3. 镜像仓库 Docker Hub,Docker 官方镜像仓库,存放大量现成可直接运行的镜像。
  4. Docker 后台服务docker daemon:Docker 守护进程(docker server),docker run 命令就是和该守护进程交互来创建容器。

六、docker run 完整命令解读

复制代码
docker run -d \
  --name mysql \
  -p 3306:3306 \
  -e TZ=Asia/Shanghai \
  -e MYSQL_ROOT_PASSWORD=123 \
  mysql
  • docker run:创建并运行一个容器
  • -d:后台运行容器
  • --name:自定义容器名称,名称必须唯一
  • -p 宿主机端口:容器内端口:端口映射

容器内部环境默认隔离,外部无法直接访问容器内部端口;通过端口映射,访问宿主机端口,流量自动转发到容器内部端口。

  • -e KEY=VALUE:设置容器内环境变量
  • mysql:指定镜像名称,完整格式 [仓库名]:[版本tag],省略 tag 默认拉取 latest 最新版。

七、示例:Nginx 容器启动命令

复制代码
docker run -d \
--name nginx \
-p 80:80 \
nginx

课后复习小结

  1. Docker 解决传统部署环境复杂、环境不一致问题,实现一键部署。
  2. 镜像:模板 ;容器:镜像运行起来的隔离实例;一个镜像可生成多个容器。
  3. docker run 核心:创建 + 启动容器,-p端口映射、-e环境变量、-d后台运行。
  4. 容器网络隔离,外部访问必须做端口映射。
相关推荐
风寄巴山秋1 小时前
OpenBMC:Web 页面功能异常排查
运维·服务器·前端·架构
小白的码BUG之路2 小时前
Jenkins -- 连接gitee
运维·gitee·jenkins
峥无2 小时前
Linux线程深度剖析:轻量级进程、虚拟内存分页、进程线程资源对比
linux·运维·mmap
骑着蜗牛撵大象3272 小时前
穿越 Docker 内核迷雾:镜像分层的叠加态与卷挂载的空间穿梭
运维·docker·容器·联合文件系统·卷挂载·镜像分层·存储驱动
honsor2 小时前
以太网温湿度传感器:RJ45直连机房的环境监控新方案
运维·网络·数据库·物联网·安全·云计算·github
zxcvb1532 小时前
规定备份信息的备份方式:从策略制定到自动化落地的实践思考
运维·oracle·自动化
goehou2 小时前
AI 应用上线实战:从本地脚本到 Docker 容器化(密钥、健康检查、镜像瘦身)
docker·ai·llm·部署·教程·容器化
吴声子夜歌2 小时前
Docker入门与实战——Docker数据管理
docker·容器
程序员老赵3 小时前
Docker 部署 TeslaMate:轻松搭建特斯拉车辆数据记录平台
docker·容器·开源