오윤석

docker initialize

1 +/app/config
2 +/app/node/node_modules
...\ No newline at end of file ...\ No newline at end of file
1 +version: "3"
2 +services:
3 +
4 + web:
5 + image: nginx
6 + container_name: nginx
7 + ports:
8 + - "8081:80"
9 + networks:
10 + mynet:
11 + ipv4_address: 172.28.0.2
12 + volumes:
13 + - ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf
14 + - ./web:/var/www/html
15 + restart: on-failure
16 + links:
17 + - app
18 +
19 + app:
20 + image: node
21 + container_name: node
22 + ports:
23 + - "8082:80"
24 + networks:
25 + mynet:
26 + ipv4_address: 172.28.0.3
27 + working_dir: /app
28 + volumes:
29 + - ./node:/app
30 + - ./config:/app/config
31 + command: bash -c "npm install && node app.js"
32 + environment:
33 + - NODE_ENV=production
34 + links:
35 + - db
36 + depends_on:
37 + - db
38 + restart: on-failure
39 +
40 + db:
41 + image: mariadb:10.2
42 + container_name: mariadb10.2
43 + ports:
44 + - "33066:3306"
45 + networks:
46 + mynet:
47 + ipv4_address: 172.28.0.4
48 + volumes:
49 + - mariadb:/var/lib/mysql
50 + - ./config:/config
51 + environment:
52 + MYSQL_ROOT_PASSWORD_FILE: ./config/db_password.txt
53 + MYSQL_DATABASE: maple
54 + MYSQL_USER: maple
55 + MYSQL_PASSWORD_FILE: ./config/db_password.txt
56 + TZ: Asia/Seoul
57 + command: --character_set_client=utf8 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --character-set-client-handshake=FALSE
58 + restart: on-failure
59 +
60 +volumes:
61 + mariadb:
62 +
63 +networks:
64 + mynet:
65 + ipam:
66 + driver: default
67 + config:
68 + - subnet: 172.28.0.0/16
...\ No newline at end of file ...\ No newline at end of file
1 +server {
2 + listen 80;
3 + server_name localhost;
4 + access_log /var/log/nginx/access.log.1;
5 + error_log /var/log/nginx/error.log.1;
6 +
7 + location /api {
8 + proxy_pass http://172.28.0.3;
9 + }
10 +
11 + location / {
12 + root /var/www/html;
13 + index index.html;
14 + }
15 +}
...\ No newline at end of file ...\ No newline at end of file
1 +var express = require('express');
2 +var app = express();
3 +var bodyParser = require('body-parser');
4 +var mysql = require('mysql');
5 +var fs = require('fs');
6 +
7 +app.use(bodyParser.urlencoded({ extended: false }));
8 +app.use(bodyParser.json());
9 +
10 +var db;
11 +
12 +fs.readFile('./config/db_password.txt', function(err, data) {
13 + db = mysql.createConnection({
14 + host: "172.28.0.4",
15 + port: 3306,
16 + user: "root",
17 + password: data,
18 + database: "mysql"
19 + });
20 +
21 + db.connect();
22 +});
23 +
24 +app.get('/query', function (req, res) {
25 + db.query("SHOW DATABASES",
26 + function(err, results, fields) {
27 + if (err) throw err;
28 + var string = JSON.stringify(results);
29 + res.send(string);
30 + }
31 + );
32 +});
33 +
34 +var server = app.listen(80);
...\ No newline at end of file ...\ No newline at end of file
This diff is collapsed. Click to expand it.
1 +{
2 + "name": "node",
3 + "version": "1.0.0",
4 + "description": "",
5 + "main": "app.js",
6 + "scripts": {
7 + "test": "echo \"Error: no test specified\" && exit 1"
8 + },
9 + "author": "",
10 + "license": "ISC",
11 + "dependencies": {
12 + "express": "^4.17.1",
13 + "http": "0.0.1-security",
14 + "mysql": "^2.18.1"
15 + }
16 +}
1 +hello world
...\ No newline at end of file ...\ No newline at end of file