반응형

* 컨테이너 커밋은 기 Container 파일내에 변경 사항에 대한 내용을 image 화 하는 방식임.


1.  Docker 컨터이너 커밋
   - docker에서 작업한 컨테이너를 그대로 저장합니다.
     (별도로 기본 이미지에서 변경한 내역이 있을 때 사용)
   
   - docker commit [CONTAINER] [백업할 IMAGE_NAME]
   - 예)
   [root@localhost ~]# docker ps
CONTAINER ID        IMAGE                                                COMMAND                  CREATED             STATUS              PORTS                                                                           NAMES
2df5d23dbe0e        docker.test.io:8081/solution-was/2.1/x64:latest         "/bin/sh -c /run.sh"     4 months ago        Up 5 minutes        0.0.0.0:8888->8080/tcp                                                          docker_was_1
509d8e8f79c6        docker.test.io:8081/solution-dtg/2.1/x64:latest         "/bin/sh -c /run.sh"     4 months ago        Up 5 minutes        1337/tcp                                                                        docker_dtg_1
22bc42e1e8f7        docker.test.io:8081/solution-mhp/2.0/x64:latest         "/bin/sh -c /run.sh"     4 months ago        Up 5 minutes        1335/tcp, 1337/tcp, 1339-1341/tcp, 3882/tcp, 0.0.0.0:9900-9999->9900-9999/tcp   docker_mhp_1
dfce80fcd38f        docker.test.io:8081/solution-geoserver/2.2/x64:latest   "/bin/sh -c /run.sh"     4 months ago        Up 5 minutes        8080/tcp                                                                        docker_geoserver_1
eb18ba2b9010        postgres:10.5                                        "docker-entrypoint..."   4 months ago        Up 5 minutes        5432/tcp                                                                        docker_postgresdb_1
2c8ec75d22ed        cassandra:3.11.3                                     "docker-entrypoint..."   4 months ago        Up 5 minutes        7000-7001/tcp, 7199/tcp, 9042/tcp, 9160/tcp                                     docker_cassandra_1
a427d7f36829        mongo:3.4                                            "docker-entrypoint..."   4 months ago        Up 5 minutes        0.0.0.0:27017->27017/tcp                                                        docker_mongodb_1

   위의 내용에서 docker_was_1 컨테이너를 commit할 예정
   
   [root@localhost ~]# docker images
REPOSITORY                                    TAG                 IMAGE ID            CREATED             SIZE
docker.test.io:8081/solution-was/2.1/x64         latest              a85e7acc572a        6 months ago        1.23 GB
docker.io/solution/test-adp                      dev                 46312c34dd22        6 months ago        1.35 GB
docker.io/solution/test-dataengine               dev                 efa6b96652f1        7 months ago        519 MB
docker.test.io:8081/solution-mhp/2.0/x64         latest              f0589f2e98fa        7 months ago        1.3 GB
docker.io/cassandra                           3.11.3              8ea89760ce2b        7 months ago        323 MB
docker.io/mongo                               3.4                 9467ec7b04e5        7 months ago        361 MB
docker.test.io:8081/solution-dtg/2.1/x64         latest              6772091689dc        7 months ago        1.09 GB
docker.test.io:8081/solution-geoserver/2.2/x64   latest              7148066bbeba        7 months ago        1.4 GB
docker.io/postgres                            10.5                3fce051f5a48        8 months ago        228 MB
docker.io/solution/test-mariadb                  10.2                43eb83900c8a        15 months ago       1.15 GB

  [root@localhost ~]# docker commit docker_was_1 docker.test.io:8081/solution-was/2.1/x64:latest
sha256:b4fd018ea938c46eae246ca8f6daa586c7216919b4be21a0e980bf05fca82dc0
[root@localhost ~]#

  위의 보이는 것처럼 b4fd018ea938c46eae246ca8f6daa586c7216919b4be21a0e980bf05fca82dc0 이름으로 이미지가 생성됩니다.
  
  [root@localhost ~]# docker images
REPOSITORY                                    TAG                 IMAGE ID            CREATED             SIZE
docker.test.io:8081/solution-was/2.1/x64         latest              b4fd018ea938        10 seconds ago      1.23 GB
docker.test.io:8081/solution-was/2.1/x64                       a85e7acc572a        6 months ago        1.23 GB
docker.io/solution/test-adp                      dev                 46312c34dd22        6 months ago        1.35 GB
docker.io/solution/test-dataengine               dev                 efa6b96652f1        7 months ago        519 MB
docker.test.io:8081/solution-mhp/2.0/x64         latest              f0589f2e98fa        7 months ago        1.3 GB
docker.io/cassandra                           3.11.3              8ea89760ce2b        7 months ago        323 MB
docker.io/mongo                               3.4                 9467ec7b04e5        7 months ago        361 MB
docker.test.io:8081/solution-dtg/2.1/x64         latest              6772091689dc        7 months ago        1.09 GB
docker.test.io:8081/solution-geoserver/2.2/x64   latest              7148066bbeba        7 months ago        1.4 GB
docker.io/postgres                            10.5                3fce051f5a48        8 months ago        228 MB
docker.io/solution/test-mariadb                  10.2                43eb83900c8a        15 months ago       1.15 GB


  - 만든 이미지의 임의의 이름 부여
  [root@localhost ~]# docker tag docker.test.io:8081/solution-was/2.1/x64 mydocker_last

  - 내역 조회
  [root@localhost ~]# docker images
REPOSITORY                                    TAG                 IMAGE ID            CREATED              SIZE
docker.test.io:8081/solution-was/2.1/x64         latest              b4fd018ea938        About a minute ago   1.23 GB
mydocker_last                                 latest              b4fd018ea938        About a minute ago   1.23 GB
docker.test.io:8081/solution-was/2.1/x64                       a85e7acc572a        6 months ago         1.23 GB
docker.io/solution/test-adp                      dev                 46312c34dd22        6 months ago         1.35 GB
docker.io/solution/test-dataengine               dev                 efa6b96652f1        7 months ago         519 MB
docker.test.io:8081/solution-mhp/2.0/x64         latest              f0589f2e98fa        7 months ago         1.3 GB
docker.io/cassandra                           3.11.3              8ea89760ce2b        7 months ago         323 MB
docker.io/mongo                               3.4                 9467ec7b04e5        7 months ago         361 MB
docker.test.io:8081/solution-dtg/2.1/x64         latest              6772091689dc        7 months ago         1.09 GB
docker.test.io:8081/solution-geoserver/2.2/x64   latest              7148066bbeba        7 months ago         1.4 GB
docker.io/postgres                            10.5                3fce051f5a48        8 months ago         228 MB
docker.io/solution/test-mariadb                  10.2                43eb83900c8a        15 months ago        1.15 GB

     
 
2. docker 이미지 백업 및 배포

위에서 만든 mydocker_last 이미지를 백업 받습니다.

[root@localhost ~]# docker save -o mydocker_last_20190626.tar mydocker_last

[root@localhost ~]# ls -lsa mydocker*.tar
1229636 -rw------- 1 root root 1259146752 Jun 26 04:06 mydocker_last_20190626.tar


위의 생성된 내역을 기준으로

* 사전에 docker-compose로 전체를 내리고 수행 필요

a. docker rm [컨테이너 삭제]
b. docker rmi [이미지 삭제]

이미지 로드

[root@localhost ~]# docker load -i mydocker_last_20190626.tar
9186e1e3577e: Loading layer [==================================================>] 4.608 kB/4.608 kB
5e98fb5934af: Loading layer [==================================================>] 157.5 MB/157.5 MB
f33686d99dec: Loading layer [==================================================>] 2.048 kB/2.048 kB
f30a15d54bfb: Loading layer [==================================================>] 2.048 kB/2.048 kB
825ca8132690: Loading layer [==================================================>]  29.7 kB/29.7 kB
Loaded image: mydocker_last:latest
[root@localhost ~]# docker images
REPOSITORY                                    TAG                 IMAGE ID            CREATED             SIZE
mydocker_last                                 latest              b4fd018ea938        12 minutes ago      1.23 GB
docker.io/solution/test-adp                      dev                 46312c34dd22        6 months ago        1.35 GB
docker.io/solution/test-dataengine               dev                 efa6b96652f1        7 months ago        519 MB
docker.test.io:8081/solution-mhp/2.0/x64         latest              f0589f2e98fa        7 months ago        1.3 GB
docker.io/cassandra                           3.11.3              8ea89760ce2b        7 months ago        323 MB
docker.io/mongo                               3.4                 9467ec7b04e5        7 months ago        361 MB
docker.test.io:8081/solution-dtg/2.1/x64         latest              6772091689dc        7 months ago        1.09 GB
docker.test.io:8081/solution-geoserver/2.2/x64   latest              7148066bbeba        7 months ago        1.4 GB
docker.io/postgres                            10.5                3fce051f5a48        8 months ago        228 MB
docker.io/solution/test-mariadb                  10.2                43eb83900c8a        15 months ago       1.15 GB


기존 명칭으로 mydocker_last를 변경

 # docker tag mydocker_last docker.test.io:8081/solution-was/2.1/x64 
 
 [root@localhost ~]# docker images
REPOSITORY                                    TAG                 IMAGE ID            CREATED             SIZE
docker.test.io:8081/solution-was/2.1/x64         latest              b4fd018ea938        13 minutes ago      1.23 GB
mydocker_last                                 latest              b4fd018ea938        13 minutes ago      1.23 GB
docker.io/solution/test-adp                      dev                 46312c34dd22        6 months ago        1.35 GB
docker.io/solution/test-dataengine               dev                 efa6b96652f1        7 months ago        519 MB
docker.test.io:8081/solution-mhp/2.0/x64         latest              f0589f2e98fa        7 months ago        1.3 GB
docker.io/cassandra                           3.11.3              8ea89760ce2b        7 months ago        323 MB
docker.io/mongo                               3.4                 9467ec7b04e5        7 months ago        361 MB
docker.test.io:8081/solution-dtg/2.1/x64         latest              6772091689dc        7 months ago        1.09 GB
docker.test.io:8081/solution-geoserver/2.2/x64   latest              7148066bbeba        7 months ago        1.4 GB
docker.io/postgres                            10.5                3fce051f5a48        8 months ago        228 MB
docker.io/solution/test-mariadb                  10.2                43eb83900c8a        15 months ago       1.15 GB

복제된 기존 태그 삭제
[root@localhost ~]# docker rmi mydocker_last
Untagged: mydocker_last:latest
[root@localhost ~]# docker images
REPOSITORY                                    TAG                 IMAGE ID            CREATED             SIZE
docker.test.io:8081/solution-was/2.1/x64         latest              b4fd018ea938        14 minutes ago      1.23 GB
docker.io/solution/test-adp                      dev                 46312c34dd22        6 months ago        1.35 GB
docker.io/solution/test-dataengine               dev                 efa6b96652f1        7 months ago        519 MB
docker.test.io:8081/solution-mhp/2.0/x64         latest              f0589f2e98fa        7 months ago        1.3 GB
docker.io/cassandra                           3.11.3              8ea89760ce2b        7 months ago        323 MB
docker.io/mongo                               3.4                 9467ec7b04e5        7 months ago        361 MB
docker.test.io:8081/solution-dtg/2.1/x64         latest              6772091689dc        7 months ago        1.09 GB
docker.test.io:8081/solution-geoserver/2.2/x64   latest              7148066bbeba        7 months ago        1.4 GB
docker.io/postgres                            10.5                3fce051f5a48        8 months ago        228 MB
docker.io/solution/test-mariadb                  10.2                43eb83900c8a        15 months ago       1.15 GB

반응형
반응형

File Writing 부분은 작성하지 않았음...

 

여러모로 문제가 있음

 

참고용...


import java.net.URLEncoder;
 
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.*;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList; 
 
public class getMsrstnAcctoRltmMesureDnsty {
 

    // tag값의 정보를 가져오는 메소드
private static String getTagValue(String tag, Element eElement) {
    NodeList nlList = eElement.getElementsByTagName(tag).item(0).getChildNodes();
    Node nValue = (Node) nlList.item(0);
    if(nValue == null) 
        return null;
    return nValue.getNodeValue();
}

public static void main(String[] args) {
int page = 1; // 페이지 초기값 
     int totalCount = 0; // 전체 건수
    
     int nowCnt = 0; // 현재 페이지의 건수
    
     // JSON Object 
     JSONArray jitem = new JSONArray(); 
    
    
    
try{
while(true){

 // 서비스 인증키입니다. 공공데이터포털에서 제공해준 인증키를 넣어주시면 됩니다.         
            String serviceKey = "키입력";
             
             
            // 한페이지에서 읽어올 개수
            String numOfRows   = "5";         
            
            // 한글은 encoding 수행합니다.
         String stationName = URLEncoder.encode("종로구", "UTF-8");
         String ver         = "1.0";
         String dataTerm    = "DAILY";
         String RtnType     = "XML";
    
     StringBuffer jsonSb = null;
        
        
            String urlStr = "http://openapi.airkorea.or.kr/"
                    + "openapi/services/rest/ArpltnInforInqireSvc/getMsrstnAcctoRltmMesureDnsty"
                    + "?"
                    + "ServiceKey="  + serviceKey
                    + "&stationName=" + stationName
                    + "&dataTerm="  + dataTerm 
                    + "&pageNo=" + page
                    + "&numOfRows=" + numOfRows                    
                    + "&ver=" + ver 
                    + "&_retrunType=" + RtnType
                    ;
            
DocumentBuilderFactory dbFactoty = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactoty.newDocumentBuilder(); 
Document doc = dBuilder.parse(urlStr);



if ( page == 1 ) { 
// 파싱할 tag
NodeList nListT = doc.getElementsByTagName("body");

Node nNodeT = nListT.item(0);
if(nNodeT.getNodeType() == Node.ELEMENT_NODE){

Element eElementT = (Element) nNodeT; 

totalCount = Integer.parseInt(getTagValue("totalCount", eElementT));
} // for end

}

// root tag 
doc.getDocumentElement().normalize();  

// 파싱할 tag
NodeList nList = doc.getElementsByTagName("item");


//JSONObject
for(int temp = 0; temp < nList.getLength(); temp++){
Node nNode = nList.item(temp);
if(nNode.getNodeType() == Node.ELEMENT_NODE){

Element eElement = (Element) nNode;

JSONObject jobj = new JSONObject();


jobj.put("dataTime",  getTagValue("dataTime", eElement).toString());
// jobj.put("so2Value",  Float.parseFloat(getTagValue("so2Value", eElement).toString()));
// jobj.put("coValue",   Float.parseFloat(getTagValue("coValue", eElement).toString()));
// jobj.put("o3Value",   Float.parseFloat(getTagValue("o3Value", eElement).toString()));
// jobj.put("pm10Value", Float.parseFloat(getTagValue("pm10Value", eElement).toString()));
// jobj.put("pm25Value", Float.parseFloat(getTagValue("pm25Value", eElement).toString()));
// jobj.put("khaiValue", Float.parseFloat(getTagValue("khaiValue", eElement).toString()));
// jobj.put("khaiGrade", Float.parseFloat(getTagValue("khaiGrade", eElement).toString()));
// jobj.put("so2Grade",  Float.parseFloat(getTagValue("so2Grade", eElement).toString()));
// jobj.put("coGrade",   Float.parseFloat(getTagValue("coGrade", eElement).toString()));
// jobj.put("o3Grade",   Float.parseFloat(getTagValue("o3Grade", eElement).toString()));
// jobj.put("no2Grade",  Float.parseFloat(getTagValue("no2Grade", eElement).toString()));
// jobj.put("pm10Grade", Float.parseFloat(getTagValue("pm10Grade", eElement).toString()));
// jobj.put("pm25Grade", Float.parseFloat(getTagValue("pm25Grade", eElement).toString()));

jobj.put("so2Value",  getTagValue("so2Value", eElement).toString());
jobj.put("coValue",   getTagValue("coValue", eElement).toString());
jobj.put("o3Value",   getTagValue("o3Value", eElement).toString());
jobj.put("pm10Value", getTagValue("pm10Value", eElement).toString());
jobj.put("pm25Value", getTagValue("pm25Value", eElement).toString());
jobj.put("khaiValue", getTagValue("khaiValue", eElement).toString());
jobj.put("khaiGrade", getTagValue("khaiGrade", eElement).toString());
jobj.put("so2Grade",  getTagValue("so2Grade", eElement).toString());
jobj.put("coGrade",   getTagValue("coGrade", eElement).toString());
jobj.put("o3Grade",   getTagValue("o3Grade", eElement).toString());
jobj.put("no2Grade",  getTagValue("no2Grade", eElement).toString());
jobj.put("pm10Grade", getTagValue("pm10Grade", eElement).toString());
jobj.put("pm25Grade", getTagValue("pm25Grade", eElement).toString());

  JSONParser jsonParser = new JSONParser();
jitem.add(jsonParser.parse(jobj.toJSONString()));

    
} // for end
} // if end



nowCnt = page * Integer.parseInt(numOfRows);

page += 1;

 
if(nowCnt > totalCount){
break;
}
} // while end

} catch (Exception e){
e.printStackTrace();
} // try~catch end

System.out.println("[message]:" + jitem.toJSONString());
System.out.println("End of Main");
} // main end 
   
  }
   


반응형

'4차 산업 > ELK 관련' 카테고리의 다른 글

Logstash 대기 오염 관련 Json 처리 예제  (0) 2019.03.21
반응형

쓰기 금지 미디어 입니다.

HKEY_LOCAL_MACHINE\SYSTEM\CurrrentControlSet\Control\StroageDevicePolicies

WriteProtect  값 1이면 쓰기 금지 / 0이면 쓰기 가능...


또한 diskpart 명령는 현재 디스크가 읽기 전용인지 확인 및 설정이 가능하며,

읽기 전용을 해지 했는대도 불구하고 계속 읽기전용으로 나온다면 위의 레지스트리 값을 확인해 봐야 함 !

diskpart 관련 글 : http://blogs.technet.com/b/koalra/archive/2008/01/14/windows-server-2008-66-disk-management-in-server-core.aspx.
반응형

'UTILITY' 카테고리의 다른 글

registry first aid platinum v 8.1  (1) 2011.08.08
EaseUS TODO Backup Free (무료 백업 복구 솔루션)  (0) 2011.07.28
Acroedit 소개  (0) 2011.06.28
NetDrive 설정해 보기  (0) 2011.06.28
웹 개발에 유용한 프로그램 모음  (0) 2011.06.14
반응형

티스토리에서 클라우드 이벤트를 아래와 같이 실시한다 !!!

즉,

응모에 당첨만 된다면 100GB에 해당되는 메일주소와

클라우드 용량을 준다는 것이다...

사실 USB 들고 다니기도 귀찮고....

웹에서 100GB 해당되는 공간이 나만을 위해 쓰일수 있다면 하하하;

무지 좋겠다...

개인 관련 게임, 음악, 노래 등 관련 정보를 클라우드에 올려놓고 즐길수 있다고 생각하니 즐겁다 !

다들 응모하세요 ~

응모 주소 : http://notice.tistory.com/1658

반응형

'일상다반사' 카테고리의 다른 글

바나나 식초 만들기  (0) 2012.01.16
안드로이드 프로그래밍...  (0) 2012.01.03
모르는 한자 찾기  (0) 2010.11.02
아동 전집 할인 사이트  (0) 2010.10.27
이쁜 여자 아이 이름  (0) 2010.07.20

+ Recent posts