返回

庖丁解牛,Docker部署Vue+Node服务+MySQL+Redis应用

前端

准备工作

在开始之前,确保您已经安装了以下软件:

  • Docker
  • Vue.js
  • Node.js
  • MySQL
  • Redis

部署Vue.js前端服务

1.创建一个新的Vue.js项目:

vue create my-app

2.安装必要的依赖项:

npm install

3.启动开发服务器:

npm run serve

4.将项目打包为静态文件:

npm run build

5.将静态文件复制到Docker镜像中:

docker build -t my-vue-app .

部署Node.js后端服务

1.创建一个新的Node.js项目:

mkdir my-node-app
cd my-node-app
npm init -y

2.安装必要的依赖项:

npm install express mysql redis

3.创建服务器文件:

// server.js
const express = require('express');
const mysql = require('mysql');
const redis = require('redis');

const app = express();

// MySQL连接
const mysqlConnection = mysql.createConnection({
  host: 'mysql',
  user: 'root',
  password: 'password',
  database: 'my_database'
});

// Redis连接
const redisClient = redis.createClient({
  host: 'redis',
  port: 6379
});

// 连接数据库
mysqlConnection.connect();

// 设置路由
app.get('/', (req, res) => {
  res.send('Hello, world!');
});

app.get('/data', (req, res) => {
  // 从数据库中获取数据
  mysqlConnection.query('SELECT * FROM my_table', (err, rows) => {
    if (err) throw err;

    // 将数据存储在Redis中
    redisClient.set('my_data', JSON.stringify(rows));

    // 返回数据
    res.send(rows);
  });
});

// 启动服务器
app.listen(3000);

4.将项目打包为Docker镜像:

docker build -t my-node-app .

部署MySQL数据库

1.创建新的MySQL数据库:

docker run --name mysql -e MYSQL_ROOT_PASSWORD=password -d mysql

2.创建新的数据库和表:

docker exec -it mysql mysql -uroot -ppassword

CREATE DATABASE my_database;

USE my_database;

CREATE TABLE my_table (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(255) NOT NULL,
  age INT NOT NULL
);

INSERT INTO my_table (name, age) VALUES ('John', 30), ('Mary', 25), ('Bob', 40);

部署Redis数据库

1.创建新的Redis数据库:

docker run --name redis -d redis

将组件连接在一起

1.创建一个Docker网络:

docker network create my-network

2.将每个组件连接到网络:

docker network connect my-network my-vue-app
docker network connect my-network my-node-app
docker network connect my-network mysql
docker network connect my-network redis

3.启动所有组件:

docker start my-vue-app
docker start my-node-app
docker start mysql
docker start redis

测试应用

1.打开浏览器并导航到Vue.js前端服务的URL。

2.单击"数据"按钮。

3.您应该会看到从MySQL数据库中检索到的数据。

结论

在本文中,我们学习了如何使用Docker部署Vue+Node服务+MySQL+Redis应用,而不使用Docker Compose。我们介绍了如何设置每个组件,以及如何将它们连接在一起,以便它们能够作为一个完整的应用程序运行。希望本文对您有所帮助。