781 字
4 分钟
虚拟机配置与 Docker + Nginx + MySQL 环境搭建

一、虚拟机导入与网络配置#

按照课件 PDF 导入虚拟机后,使用 NAT + Host-Only 双网卡模式配置网络。

1.1 配置宿主机 Host-Only 网卡#

打开 VirtualBox → 管理 → 主机网络管理器:

  • 点击创建(或选中已有的 Host-Only 网络)
  • 勾选手动配置网卡,填写:
    • IPv4 地址:192.168.103.11(宿主机在此局域网的 IP)
    • 子网掩码:255.255.255.0
  • DHCP 服务器选项卡 → 关闭 DHCP
  • 点击应用

1.2 给虚拟机分配两块网卡#

关闭虚拟机,进入 设置 → 网络:

网卡连接方式说明
网卡1网络地址转换(NAT)用于访问外网
网卡2仅主机(Host-Only)适配器用于与宿主机通信,选择刚才配好的那块

1.3 虚拟机内配置静态 IP#

编辑 /etc/network/interfaces:

Terminal window
sudo nano /etc/network/interfaces

写入以下内容:

Terminal window
auto lo
iface lo inet loopback
# NAT 网卡 - 上外网
auto enp0s3
iface enp0s3 inet dhcp
# Host-Only 网卡 - 与宿主机通信(不写 gateway!)
auto enp0s8
iface enp0s8 inet static
address 192.168.103.128
netmask 255.255.255.0

应用配置:

Terminal window
sudo ifdown enp0s8 && sudo ifup enp0s8

或者直接重启虚拟机。

1.4 验证网络连通性#

Terminal window
# 虚拟机内测外网
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 不可用,先安装工具:

Terminal window
sudo apt install net-tools

二、更换镜像源并更新系统#

2.1 更换 apt 镜像源#

Terminal window
sudo nano /etc/apt/sources.list

按 Ctrl + \ 全局替换,将 archives.ubuntu.com 替换为 mirrors.bfsu.edu.cn(北外镜像源)。

2.2 更新系统#

Terminal window
sudo apt update
sudo apt upgrade

完成后重启虚拟机。


三、安装 Docker#

使用轩辕镜像的一键安装脚本:

Terminal window
bash <(wget -qO- https://xuanyuan.cloud/docker.sh)

安装完成后验证:

Terminal window
docker --version

四、拉取 Docker 镜像#

Terminal window
docker pull nginx:latest
docker pull mysql:latest

拉取完成后查看镜像:

Terminal window
docker images

五、清理旧容器(可选)#

如果之前运行过同名容器,先删掉避免冲突:

Terminal window
docker ps -a # 查看所有容器
docker rm mysql-test # 删除旧的 mysql 容器
docker rm nginx-test # 删除旧的 nginx 容器

六、编写 docker-compose.yml#

Terminal window
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(退出)。


七、一键启动容器#

Terminal window
docker compose up -d

以后每次启动只需执行这一条命令。容器名通常为 <当前目录>-mysql-1 和 <当前目录>-nginx-1,可用 docker ps 查看。


八、配置 Nginx#

8.1 进入 Nginx 容器#

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

8.2 修改默认网页#

Terminal window
echo "Hello Docker" > /usr/share/nginx/html/index.html

8.3 测试访问#

浏览器打开 虚拟机IP:9110(例如 http://192.168.103.128:9110),看到修改后的页面即成功。


九、配置 MySQL#

9.1 进入 MySQL 容器#

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

9.2 登录 MySQL#

Terminal window
mysql -uroot -p

输入密码 123456(docker-compose 中设置的)。

9.3 创建数据库#

CREATE DATABASE test;
USE test;

十、客户端连接数据库#

推荐使用 DBeaver(免费开源)连接:

参数值
Host虚拟机IP(192.168.103.128)
Port3306
Userroot
Password123456

解决报错:Public Key Retrieval is not allowed#

在 DBeaver 中编辑当前 MySQL 连接,切换到驱动属性标签页,修改以下参数:

参数名填写值
allowPublicKeyRetrievalTRUE
useSSLFALSE

保存后再次测试连接即可成功。

虚拟机配置与 Docker + Nginx + MySQL 环境搭建
https://blog.ipox.cn/posts/zh-cn/vm-docker-nginx-mysql/
作者
槿鸢
发布于
2026-06-07
许可协议
CC BY-NC-SA 4.0

分享文章

生成精美分享图或复制链接,与更多人分享本文。

继续阅读

沿着主题读

基于共同的标签与分类

换条路线

从其他文章中稳定抽取

最后更新于 ,距今已过 137 天

部分内容可能已过时