Я хочу использовать Docker, чтобы создать контейнер, который содержит базу данных MySQL с Express для показа в определенные порты, например 8080
, чтобы я мог получить это, используя React для представления.
Прямо сейчас я сделал простой сервер с экспрессом, который выбирает данные из базы данных MySQL и отображает их на «localhost: 8000 / posts» (posts - это место, где я использую SQL Query, чтобы выбрать все из таблицы.
Это файл index.ts:
//Main File
import express from "express";
import { connection } from "./db-connect";
const app = express();
const port = 8000;
var cors = require("cors");
/*
cors was installed so I could get the data
and display it to react, otherwise I was getting an error
in the console.
*/
app.use(cors());
app.listen(80, function() {
console.log("CORS-enabled web server listening on port 80");
});
app.get("/", (req, res) => {
res.send("Go to /posts to see the Data");
});
app.get("/posts", (req, res) => {
connection.query("SELECT * FROM blog.posts", (err, result) => {
if (err) {
return res.send(err);
} else {
return res.json(result);
}
});
});
app.listen(port, err => {
if (err) {
return console.error(err);
}
return console.log(`server is listening on ${port}`);
});
Итак, у меня есть база данных с именем blog
с таблицей с именем posts
С этим я получаю массив с данными в качестве объекта, которыйэто то, что я хотел.
Что я хотел узнать, так это Dockerize это в контейнер. С MySQL, который имеет blog
базу данных с posts
таблицей, которая содержит id, title, body и user.
После того, как я хотел бы разместить Docker, содержащий базу данных, и развернуть его в digitalocean или аналогичной службе.