630 字
2 分钟
虚拟机配置与 Docker + Nginx + MySQL 环境搭建
一、虚拟机导入与网络配置
按照课件 PDF 导入虚拟机后,使用 NAT + Host-Only 双网卡模式配置网络。
1.1 配置宿主机 Host-Only 网卡
打开 VirtualBox → 管理 → 主机网络管理器:
- 点击创建(或选中已有的 Host-Only 网络)
- 勾选手动配置网卡,填写:
- IPv4 地址:
192.168.103.11(宿主机在此局域网的 IP) - 子网掩码:
255.255.255.0
- IPv4 地址:
- DHCP 服务器选项卡 → 关闭 DHCP
- 点击应用
1.2 给虚拟机分配两块网卡
关闭虚拟机,进入 设置 → 网络:
| 网卡 | 连接方式 | 说明 |
|---|---|---|
| 网卡1 | 网络地址转换(NAT) | 用于访问外网 |
| 网卡2 | 仅主机(Host-Only)适配器 | 用于与宿主机通信,选择刚才配好的那块 |
1.3 虚拟机内配置静态 IP
编辑 /etc/network/interfaces:
sudo nano /etc/network/interfaces写入以下内容:
auto loiface lo inet loopback
# NAT 网卡 - 上外网auto enp0s3iface enp0s3 inet dhcp
# Host-Only 网卡 - 与宿主机通信(不写 gateway!)auto enp0s8iface enp0s8 inet static address 192.168.103.128 netmask 255.255.255.0应用配置:
sudo ifdown enp0s8 && sudo ifup enp0s8或者直接重启虚拟机。
1.4 验证网络连通性
# 虚拟机内测外网ping -c 3 8.8.8.8
# 虚拟机 ping 宿主机ping 192.168.103.11
# 宿主机 PowerShell ping 虚拟机ping 192.168.103.128
# SSH 进虚拟机ssh nle@192.168.103.128如果 ifconfig 不可用,先安装工具:
sudo apt install net-tools二、更换镜像源并更新系统
2.1 更换 apt 镜像源
sudo nano /etc/apt/sources.list按 Ctrl + \ 全局替换,将 archives.ubuntu.com 替换为 mirrors.bfsu.edu.cn(北外镜像源)。
2.2 更新系统
sudo apt updatesudo apt upgrade完成后重启虚拟机。
三、安装 Docker
使用轩辕镜像的一键安装脚本:
bash <(wget -qO- https://xuanyuan.cloud/docker.sh)安装完成后验证:
docker --version四、拉取 Docker 镜像
docker pull nginx:latestdocker pull mysql:latest拉取完成后查看镜像:
docker images五、清理旧容器(可选)
如果之前运行过同名容器,先删掉避免冲突:
docker ps -a # 查看所有容器docker rm mysql-test # 删除旧的 mysql 容器docker rm nginx-test # 删除旧的 nginx 容器六、编写 docker-compose.yml
nano docker-compose.yml填入以下内容:
version: '3'services: nginx: image: nginx:latest ports: - "9110:80" mysql: image: mysql:latest ports: - "3306:3306" environment: MYSQL_ROOT_PASSWORD: 123456保存退出:Ctrl + O → 回车(保存),Ctrl + X(退出)。
七、一键启动容器
docker compose up -d以后每次启动只需执行这一条命令。容器名通常为 <当前目录>-mysql-1 和 <当前目录>-nginx-1,可用 docker ps 查看。
八、配置 Nginx
8.1 进入 Nginx 容器
docker exec -it <nginx容器名> /bin/bash8.2 修改默认网页
echo "Hello Docker" > /usr/share/nginx/html/index.html8.3 测试访问
浏览器打开 虚拟机IP:9110(例如 http://192.168.103.128:9110),看到修改后的页面即成功。
九、配置 MySQL
9.1 进入 MySQL 容器
docker exec -it <mysql容器名> /bin/bash9.2 登录 MySQL
mysql -uroot -p输入密码 123456(docker-compose 中设置的)。
9.3 创建数据库
CREATE DATABASE test;USE test;十、客户端连接数据库
推荐使用 DBeaver(免费开源)连接:
| 参数 | 值 |
|---|---|
| Host | 虚拟机IP(192.168.103.128) |
| Port | 3306 |
| User | root |
| Password | 123456 |
解决报错:Public Key Retrieval is not allowed
在 DBeaver 中编辑当前 MySQL 连接,切换到驱动属性标签页,修改以下参数:
| 参数名 | 填写值 |
|---|---|
allowPublicKeyRetrieval | TRUE |
useSSL | FALSE |
保存后再次测试连接即可成功。
分享
如果这篇文章对你有帮助,欢迎分享给更多人!
虚拟机配置与 Docker + Nginx + MySQL 环境搭建
https://mizuki.ipox.cn/posts/zh-cn/vm-docker-nginx-mysql/ 部分信息可能已经过时
相关文章 智能推荐















