Animated Rainbow Nyan Cat

mysql_docker์™€ tomcat9_docker์„ ๋งŒ๋“ค์–ด์„œ
๋„คํŠธ์›Œํฌ web_test๋ฅผ ๋งŒ๋“ค๊ณ  ์—ฐ๊ฒฐํ•œ๋‹ค
inspect  ๋ช…๋ น์–ด๋ฅผ ์จ์„œ ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค docker network inspect web_test ->๋งŒ๋“ค์–ด์ง„ ๋„คํŠธ์›Œํฌ ์ƒํ™ฉ/์ •๋ณด ์กฐํšŒ
์ด๋ ‡๊ฒŒ ์ดํด๋ฆฝ์Šค๋กœ DBConnection.java๋ฅผ ๋งŒ๋“ ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์„œ๋ฒ„๋ฅผ ์—ฐ๊ฒฐํ•ด์„œ ํ†ฐ์บฃ๊ณผ ์—ฐ๊ฒฐํ•œ๋‹ค

DBConnection.java

package com.test.jdbctest;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/dbconnection")
public class DBConnection extends HttpServlet {
	private static final long serialVersionUID = 1L;
     
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

		resp.setContentType("text/html; charset=UTF-8");
		PrintWriter out = resp.getWriter();

		String uri ="jdbc:mysql://172.19.0.2:3306/webdev";
		String userid = "webmaster";
		String userpw = "1234";
		String query = "select userid, name, age from tbl_test";
		Connection con = null;
		Statement stmt = null; 
		ResultSet rs = null;

	try{
			Class.forName("org.mariadb.jdbc.Driver");
			con = DriverManager.getConnection(uri,userid,userpw);
			stmt = con.createStatement();
			rs = stmt.executeQuery(query);
		
			out.println("<HTML><HEAD><TITLE>JDBC Test</TITLE></HEAD>");
		       	out.println("<BODY>");
		       	out.println("<h1>์„œ๋ธ”๋ฆฟ DB ์—ฐ๋™</h1>");
			out.println("<TABLE border=1>");
			out.println("<TR><TD>์•„์ด๋””</TD><TD>์ด๋ฆ„</TD><TD>๋‚˜์ด</TD></TR>");
		
		while(rs.next()) {
			out.println("<TR><TD>" + rs.getString("userid") + "</TD>"
				+ "<TD>" + rs.getString("name") +"</TD>"
				+ "<TD>" + rs.getString("age") + "</TD></TR>");
			}
		if(rs != null) { rs.close(); }
		if(stmt != null) { stmt.close(); }
		if(con != null) { con.close(); }

		} catch(Exception e){ e.printStackTrace(); }
		out.println("</TABLE></BODY>");
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

์ด๊ฑธ exportํ•ด์„œ warํŒŒ์ผ์„ ๋งŒ๋“ค๊ณ  

์ถ”์ถœํ•œ warํŒŒ์ผ์„ ์œ„์˜ ๊ฒฝ๋กœ๋กœ ๋ถ™์—ฌ๋„ฃ๋Š”๋‹ค.
๊ทธ๋Ÿฌ๋ฉด ์ด๋Ÿฐ์‹์œผ๋กœ ROOTํด๋”๊ฐ€ ์ƒ๊ธด๋‹ค.
ํ•˜์ด๋””sql๋กœ ๋“ค์–ด๊ฐ€์„œ ์—ด๊ณ  ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•œ๋‹ค
๋ธŒ๋ผ์šฐ์ €์— ์น˜๋ฉด ์ด๋Ÿฐ์‹์œผ๋กœ ๋œฌ๋‹ค.

 


๋„์ปค์—์„œ ์ด๋ ‡๊ฒŒ ์ปจํ…Œ์ด๋„ˆ ๋ชฉ๋ก์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

๋Œ์•„๊ฐ€๊ฒŒ ํ•˜๋ ค๋ฉด ์—ฌ๊ธฐ์„œ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ด๋„ ๋˜๊ณ  docker .. ๋ช…๋ น์–ด๋ฅผ ์จ๋„ ๋œ๋‹ค.

์ด๋ฏธ์ง€ ํŒŒ์ผ๋„ ๋ณผ์ˆ˜ ์žˆ๋‹ค.


์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ด๋ฏธ์ง€๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ•


1.commit ๋ช…๋ น์–ด
2.dockerfile ->์Šคํฌ๋ฆฝํŠธ ๋ช…๋ น์–ด๋ฅผ ์ €์žฅํ•œ ํŒŒ์ผ๋กœ docker build ๋ช…๋ น์–ด๋กœ ์ด๋ฏธ์ง€ ํŒŒ์ผ์„ ์ƒ์„ฑ
3. ๋ฐฐ์น˜(Batch) ์ž‘์—… ->Compose
 -์ผ์„ ํ•˜๋‚˜ ๋ฐ›๊ณ  ํ•˜๋‚˜ ์ผํ•˜์ง€ ์•Š๊ณ  ๋ชจ์•„์„œ ํ•œ๊บผ๋ฒˆ์— ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•

 

1๋ฒˆ ๋ฐฉ๋ฒ•

2๋ฒˆ ๋ฐฉ๋ฒ•


์ด๋Ÿฐ ํด๋”๋ฅผ ๋งŒ๋“ค์–ด์„œ index.html์„ ๋งŒ๋“ค์–ด ๋„ฃ์–ด๋†“๊ณ 
์ด๋Ÿฐ ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•ด
๋ธŒ๋ผ์šฐ์ €์— ์น˜๋ฉด ์ด๋ ‡๊ฒŒ ๋œจ๋„๋ก ํ•œ๋‹ค


 

hyper-V์— ๋“ค์–ด๊ฐ€ ๊ฐ€์ƒ ์Šค์œ„์น˜ ๊ด€๋ฆฌ์ž์— ๊ฐ€์„œ ์ €๋Ÿฐ ๊ฐ€์ƒ ์Šค์œ„์น˜๋ฅผ ๋งŒ๋“ ๋‹ค
์„ค์ •์„ ํด๋ฆญํ•ด์„œ
๊ฐ€์ƒ ์Šค์œ„์น˜๋ฅผ ubuntu ๋กœ ๋ฐ”๊พผ๋‹ค
์œˆ๋„์šฐ cmd์— ipconfig๋ผ๊ณ  ์ณ์„œ IPv6์ฃผ์†Œ๋ฅผ ํ™•์ธํ•˜๊ณ  ๋ณต์‚ฌํ•œ๋‹ค
์•„๊นŒ ๊ฐ€์ƒ ์Šค์œ„์น˜๋ฅผ ๋งŒ๋“œ๋‹ˆ ์ €๋Ÿฐ vEthernet์ด ์ƒ๊ฒผ๋‹ค. (์‚ฌ์šฉ์•ˆํ•จ์ด ์•„๋‹ˆ๋ผ ์‚ฌ์šฉ์ค‘์ด์–ด์•ผ ํ•จ)(์ด๋•Œ, ๋„คํŠธ์›Œํฌ๊ฐ€ ์ค‘๋‹จ๋œ๋‹ค. ์ธํ„ฐ๋„ท ์ ‘์†์ด ์•ˆ๋จ)
์šฐ๋ถ„ํˆฌ์˜ ์„ค์ •-๋„คํŠธ์›Œํฌ์— ๋“ค์–ด๊ฐ€์„œ
์ด๋Ÿฐ ์‹์œผ๋กœ ์„ค์ •ํ•ด์ค€๋‹ค.

 

์ด ํ›„์—, ๋“ฑ๋กํ•œ ์ฃผ์†Œ๋ฅผ ์šฐ๋ถ„ํˆฌ์—์„œ ๋ธŒ๋ผ์šฐ์ €์— ์ž…๋ ฅํ•ด๋ณด๋ฉด ์—ฐ๊ฒฐ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. (์œˆ๋„์šฐ๋Š” ์—ฐ๊ฒฐ ์•ˆ๋˜๋Š” ์ƒํƒœ.)


docker save -o ์ €์žฅํ• ์ด๋ฏธ์ง€์ด๋ฆ„ ์ €์žฅํ• ์ด๋ฏธ์ง€.tar
dir ๋ช…๋ น์–ด๋กœ ์ €์žฅ๋œ ๊ฒƒ์„ ํ™•์ธ
docker load -i ์ด๋ฏธ์ง€์ด๋ฆ„.tar ๋กœ ๋กœ๋“œ์‹œ์ผœ์คŒ