Docker部署
本小节,讲解如何将前端 + 后端项目,使用 Docker 容器,部署到 dev 开发环境下的一台 Mac 电脑上。
1 环境准备
需要安装如下环境:
- Docker:容器
- MySQL:数据库
- Redis:缓存
- Nginx:负载均衡
1.1 安装 Docker
此处省略,自行查询安装环境。安装后配置加速镜像。
配置 Docker 镜像加速器(推荐)
修改 Docker 配置
编辑 /etc/docker/daemon.json(Linux)或 Docker Desktop 的配置(Windows/macOS),添加以下内容:{
“registry-mirrors”: [“https://m.daocloud.io”]
}
1.2 使用Docker网络
如果使用 Docker Compose,可忽略本节。
默认 bridge 网络的局限性
-
不支持容器名称解析:必须使用 IP 地址,而 IP 地址可能会在容器重启后发生变化。
-
隔离性差:所有容器共享同一个默认 bridge 网络,可能存在端口冲突或安全问题。
-
配置复杂:需要手动获取 IP 地址,不适合动态环境。
为了克服默认 bridge 网络的局限性,建议使用 自定义 bridge 网络,它支持容器名称解析,并提供更好的隔离性。
# 列出所有网络
docker network ls
# 创建网络
docker network create my-network
1.3 安装 MySQL
① 执行如下命令,使用 Docker 启动 MySQL 容器。
# 拉取 MySQL 镜像
docker pull m.daocloud.io/docker.io/mysql:8.0
# mac 启动 MySQL
docker run -d \
-v ~/work/mysql/:/var/lib/mysql \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
--restart=always --name mysql \
--network my-network \
m.daocloud.io/docker.io/mysql:8.0
导入SQL脚本。
1.4 安装 Redis
执行如下命令,使用 Docker 启动 Redis 容器。
# 拉取并启动 Redis 镜像
docker run -d \
--name redis \
--restart