기록
  • 0115
    2024년 01월 15일 09시 48분 58초에 업로드 된 글입니다.
    작성자: 삶은고구마

    복습

    1.virtual box에 등록한 ubuntu 실행

    2.mobaXterm 에 등록한 session 실행

     

    ls --help

    ls -l 

    다양하게 옵션을 선택해서 명령어를 사용할 수 있음.

     

    현재 디렉토리 : pwd(print working directory)

     

    cd ~ (물결표시는 생략가능)

    ubuntu : /home/ubuntu

    abcd : /home/abcd

    root : /root

     

    cp 원본파일 도착파일(혹은 디렉토리)

    cp a.txt b.txt

    cp a.txt foo/ <-foo라는 경로에 a.txt를 복사

    rm *.txt <-txt확장자 파일을 모두 지우기

     

    mv(잘라내기,이름변경)

    mv 원본파일 도착파일

    mv a.txt b.txt

     

    폴더생성

    mkdir 폴더

    mkdir -p 폴더/폴더/..

     

    파일생성

    touch :없으면 새로 생성 / 기존파일이 존재하면 수정내역을 최신[지금]으로 변경

     

    기본 구조

    ubuntu-jdk-tomcat-mvc.war(build) 식으로 차곡차곡 쌓아서 진행

     

    ex)

    1.maven에서 특정 프로젝트[모듈] build부터 시작한다.

    clean:기존 타겟을 모두 클리어

    package:war

    만약 모듈에 db관련 test가 있는 경우 package하지말 것 test skip옵션을 주거나 해당 test에 disabled 어노테이션 부여하기

     

    war파일명이 곧 path가 됨. 이름변경 가능.

     

     

     

    docker

    선 이미지  - 후 컨테이너

    이미지는 하나고, 컨테이너는 여러개가 될 수 있다!

     

    ★docker 실행 시 관리자 권한으로 실행하자.

    일반계정에서 관리자로 변경하는 커맨드 : sudo su - 

     


    docker image ---> container

     

    1.컨테이너를 통해 이미지를 만드는 것

    commit -t hello-mvc:1.0.0

    or

    -t hello-mvc

    뒤에 생략해도 최신 버전으로 넘버링해줌

     

    2.docker build (주방법이 될 것)

    dockerfile(command)

     

    --

    window(os)에서도 docker를 사용해보자!

     

    1.

    https://www.docker.com/products/docker-desktop/

     

    Docker Desktop: The #1 Containerization Tool for Developers | Docker

    Docker Desktop is collaborative containerization software for developers. Get started and download Docker Desktop today on Mac, Windows, or Linux.

    www.docker.com

     

    에서 본인 os에 맞는 install file 다운로드. 나는 window라 window 버전을 다운로드하고 설치함.

     


    menu 모듈 하위에 Dockerfile 생성 및 아래 내용 작성

    FROM tomcat:9-jdk17
    COPY target/menu.war /usr/local/tomcat/webapps/menu.war

     

     

    확인해보면 Dockerfile이 있다.

     

     

     

     

     

    성공했다면 아래의 커맨드 실행시 톰캣과 메뉴가 나옴..

    docker image ls 

     

    docker run -d -p 8080:8080 --name menu-app menu

     

    docker ps -a

     

     

     

     

     

     

     

     

     


    지난주까지 했던 mvc

     

    db주소나 wallet등은 공개가 아닌 비공개로 다뤄야한다..

    git의 submodule이란 것이 있다..

     

    a와 b에서 공통적으로 참고하는게 c라면 c를 따로만들어서 참조가능하게 만들 수 있음.

    이렇게 하면 a와 b에서는 c를 참조하되 볼 수는 없음!

     


     

    기존 hellloo-mvc 모듈을 위의 구조로 나눠서 github에 저장해보자!

     

     

    1.

    기존 resources에 있던 db관련 파일들을 위의 구조로 정리한다.

    resources하위에 configs폴더 추가 그 아래에 4개의 파일 추가.[이동]

    wallet은 dev경로에있던 폴더를 그대로 복붙함.

     

     

    2.

    wallet의 경로를 수정하자. 지금 참조하는 것은 datasource-staging.properties

    url = jdbc:oracle:thin:@g6tqws0rd531w8sk_high?TNS_ADMIN=C:/Workspaces/web_server_workspace/helloo-mvc/src/main/resources/configs/Wallet_G6TQWS0RD531W8SK

     

     

    3.

    mybatis-comfig.xml 수정

    <configuration>
        <properties resource="configs/datasource-staging.properties"/>

     

    mybatis xml을 수정하면

    common-sessionTemplate도 자동으로 경로가 수정된다 good

    private static SqlSessionFactory factory;
    
    static{
        String resource = "configs/mybatis-config.xml";

     

     

    4.

    public helloo-mvc 따로 저장소 만들고, source트리에서도 새로 추가-create하기 

     

     

    5.

    그리고 private로 관리할 configs 깃헙 저장소도 만들어주고 create한다

     

     

     

    6.

    helloo-mvc 저장소 - 서브모듈 추가로 configs 지정.

     

     

     

    7.

    menu와 마찬가지로 mvc에서도 하위에 Dockerfile을 생성하고 war와 wallet을 복사하는 코드작성.

    FROM tomcat:9-jdk17
    COPY target/helloo-mvc.war /usr/local/tomcat/webapps/mvc.war
    COPY src/main/resources/configs/Wallet_G6TQWS0RD531W8SK /Wallet_G6TQWS0RD531W8SK

     

     

    8.

     

     

    9.

    그리고 staging properties 파일에서 지갑 경로를 한 번 더 수정해주자.

    이제 c드라이브의 dev의 지갑경로가 아닌, root경로의 지갑을 참조해야한다.

    url = jdbc:oracle:thin:@g6tqws0rd531w8sk_high?TNS_ADMIN=/Wallet_G6TQWS0RD531W8SK

     

     

    10. 만약 config쪽을 수정한다면, helloo-mvc에서도 이렇게 변동사항이 있다고 알려준다.

     

     

    11.

    즉, configs 수정 후 최신 configs를 참조하기 위해 helloo-mvc도 업데이트를 해줘야 한다.

    자동으로 최신 버전을 참조하지 않기 때문에 어떻게보면 번거롭지만 따로 관리할 수 있다는 이점이 있다.

     

     

     

    cmd 작업내역

    더보기

     

    C:\Windows\system32>docker version
    Client:
     Cloud integration: v1.0.35+desktop.5
     Version:           24.0.7
     API version:       1.43
     Go version:        go1.20.10
     Git commit:        afdd53b
     Built:             Thu Oct 26 09:08:44 2023
     OS/Arch:           windows/amd64
     Context:           default
    
    Server: Docker Desktop 4.26.1 (131620)
     Engine:
      Version:          24.0.7
      API version:      1.43 (minimum version 1.12)
      Go version:       go1.20.10
      Git commit:       311b9ff
      Built:            Thu Oct 26 09:08:02 2023
      OS/Arch:          linux/amd64
      Experimental:     false
     containerd:
      Version:          1.6.25
      GitCommit:        d8f198a4ed8892c764191ef7b3b06d8a2eeb5c7f
     runc:
      Version:          1.1.10
      GitCommit:        v1.1.10-0-g18a0cb0
     docker-init:
      Version:          0.19.0
      GitCommit:        de40ad0
    
    C:\Windows\system32>docker ps -a
    CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
    
    C:\Windows\system32>docker ps
    CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
    
    C:\Windows\system32>docker ps -a
    CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
    
    C:\Windows\system32>cd ../..
    
    C:\>cd \Workspaces\web_server_workspace\helloo-mvc
    
    C:\Workspaces\web_server_workspace\helloo-mvc>dir
     C 드라이브의 볼륨: OS
     볼륨 일련 번호: A8C6-3537
    
     C:\Workspaces\web_server_workspace\helloo-mvc 디렉터리
    
    2024-01-12  오후 07:04    <DIR>          .
    2024-01-12  오후 07:04    <DIR>          ..
    2024-01-12  오후 06:03             4,369 pom.xml
    2023-12-27  오전 11:07    <DIR>          sql
    2023-12-15  오전 10:21    <DIR>          src
    2024-01-12  오후 07:32    <DIR>          target
                   1개 파일               4,369 바이트
                   5개 디렉터리  394,528,927,744 바이트 남음
    
    C:\Workspaces\web_server_workspace\helloo-mvc>cd ..\menu
    
    C:\Workspaces\web_server_workspace\menu>docker image ls
    REPOSITORY   TAG       IMAGE ID   CREATED   SIZE
    
    C:\Workspaces\web_server_workspace\menu>docker pull tomcat:9-jdk17
    Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
    
    C:\Workspaces\web_server_workspace\menu>
    C:\Workspaces\web_server_workspace\menu>
    C:\Workspaces\web_server_workspace\menu>
    C:\Workspaces\web_server_workspace\menu>
    C:\Workspaces\web_server_workspace\menu>
    C:\Workspaces\web_server_workspace\menu>
    C:\Workspaces\web_server_workspace\menu>
    C:\Workspaces\web_server_workspace\menu>^Cdd
    'Cdd'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는
    배치 파일이 아닙니다.
    
    C:\Workspaces\web_server_workspace\menu>d
    'd'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는
    배치 파일이 아닙니다.
    
    C:\Workspaces\web_server_workspace\menu>d
    'd'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는
    배치 파일이 아닙니다.
    
    C:\Workspaces\web_server_workspace\menu>d
    'd'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는
    배치 파일이 아닙니다.
    
    C:\Workspaces\web_server_workspace\menu>d
    'd'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는
    배치 파일이 아닙니다.
    
    C:\Workspaces\web_server_workspace\menu>dir
     C 드라이브의 볼륨: OS
     볼륨 일련 번호: A8C6-3537
    
     C:\Workspaces\web_server_workspace\menu 디렉터리
    
    2024-01-15  오전 11:12    <DIR>          .
    2024-01-15  오전 11:12    <DIR>          ..
    2023-12-06  오후 04:35               490 .gitignore
    2023-12-07  오전 10:20    <DIR>          .idea
    2024-01-15  오전 11:12                76 DockerFile
    2023-12-15  오전 11:20             1,457 pom.xml
    2023-12-06  오후 04:35    <DIR>          src
    2024-01-12  오후 12:27    <DIR>          target
                   3개 파일               2,023 바이트
                   5개 디렉터리  392,871,723,008 바이트 남음
    
    [+] Building 0.1s (2/2) FINISHED                                                                         docker:default
     => [internal] load .dockerignore                                                                                  0.0s
     => => transferring context: 2B                                                                                    0.0s
     => [internal] load build definition from Dockerfile                                                               0.0s
     => => transferring dockerfile: 2B                                                                                 0.0s
    ERROR: failed to solve: failed to read dockerfile: open /var/lib/docker/tmp/buildkit-mount2974537156/Dockerfile: no such file or directory
    
    [+] Building 0.0s (2/2) FINISHED                                                                         docker:default
     => [internal] load build definition from Dockerfile                                                               0.0s
     => => transferring dockerfile: 2B                                                                                 0.0s
     => [internal] load .dockerignore                                                                                  0.0s
     => => transferring context: 2B                                                                                    0.0s
    ERROR: failed to solve: failed to read dockerfile: open /var/lib/docker/tmp/buildkit-mount2418081203/Dockerfile: no such file or directory
    
    [+] Building 0.0s (2/2) FINISHED                                                                         docker:default
     => [internal] load .dockerignore                                                                                  0.0s
     => => transferring context: 2B                                                                                    0.0s
     => [internal] load build definition from Dockerfile                                                               0.0s
     => => transferring dockerfile: 2B                                                                                 0.0s
    ERROR: failed to solve: failed to read dockerfile: open /var/lib/docker/tmp/buildkit-mount842788370/Dockerfile: no such file or directory
    
    [+] Building 0.3s (7/7) FINISHED                                                                         docker:default
     => [internal] load build definition from Dockerfile                                                               0.0se
     => => transferring dockerfile: 113B                                                                               0.0s
     => [internal] load .dockerignore                                                                                  0.0s
     => => transferring context: 2B                                                                                    0.0s
     => [internal] load metadata for docker.io/library/tomcat:9-jdk17                                                  0.0s
     => [internal] load build context                                                                                  0.1s
     => => transferring context: 3.70MB                                                                                0.1s
     => [1/2] FROM docker.io/library/tomcat:9-jdk17                                                                    0.1s
     => [2/2] COPY target/menu.war /usr/local/tomcat/webapps/menu.war                                                  0.0s
     => exporting to image                                                                                             0.1s
     => => exporting layers                                                                                            0.0s
     => => writing image sha256:273ebf3df6ea8cec109ea522c7b54cf4e8cbffe43c4a7a22af0ee6c68bf626ab                       0.0s
     => => naming to docker.io/library/menu                                                                            0.0s
    
    What's Next?
      1. Sign in to your Docker account → docker login
      2. View a summary of image vulnerabilities and recommendations → docker scout quickview
    
    C:\Workspaces\web_server_workspace\menu>docker image ls
    REPOSITORY   TAG       IMAGE ID       CREATED          SIZE
    menu         latest    273ebf3df6ea   22 seconds ago   431MB
    tomcat       9-jdk17   fa1be3d5406a   5 days ago       428MB
    
    C:\Workspaces\web_server_workspace\menu>docker run -d -p 8080:8080 --name menu-app menu
    6cb0e8632969a990c1d316bf5c23ebd3aaf42fc05b95b0931802b36edea8ea24
    
    C:\Workspaces\web_server_workspace\menu>docker ps -a
    CONTAINER ID   IMAGE     COMMAND             CREATED         STATUS         PORTS                    NAMES
    6cb0e8632969   menu      "catalina.sh run"   7 minutes ago   Up 7 minutes   0.0.0.0:8080->8080/tcp   menu-app
    
    C:\Workspaces\web_server_workspace\menu>docker stop 6cd
    Error response from daemon: No such container: 6cd
    
    C:\Workspaces\web_server_workspace\menu>docker stop 6cb
    6cb
    
    C:\Workspaces\web_server_workspace\menu>docker ps -a
    CONTAINER ID   IMAGE     COMMAND             CREATED         STATUS                       PORTS     NAMES
    6cb0e8632969   menu      "catalina.sh run"   8 minutes ago   Exited (143) 4 seconds ago             menu-app
    
    C:\Workspaces\web_server_workspace\menu>docker start 6cb
    6cb
    
    C:\Workspaces\web_server_workspace\menu>docker ps -a
    CONTAINER ID   IMAGE     COMMAND             CREATED         STATUS         PORTS                    NAMES
    6cb0e8632969   menu      "catalina.sh run"   8 minutes ago   Up 2 seconds   0.0.0.0:8080->8080/tcp   menu-app
    
    C:\Workspaces\web_server_workspace\menu>
    C:\Workspaces\web_server_workspace\menu>
    C:\Workspaces\web_server_workspace\menu>
    C:\Workspaces\web_server_workspace\menu>docker stop 6cb
    6cb
    
    C:\Workspaces\web_server_workspace\menu>docker rm 6cb
    6cb
    
    C:\Workspaces\web_server_workspace\menu>docker ps -a
    CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
    
    C:\Workspaces\web_server_workspace\menu>docker image ls
    REPOSITORY   TAG       IMAGE ID       CREATED          SIZE
    menu         latest    273ebf3df6ea   10 minutes ago   431MB
    tomcat       9-jdk17   fa1be3d5406a   5 days ago       428MB
    
    [+] Building 3.2s (8/8) FINISHED                                                                         docker:default
     => [internal] load .dockerignore                                                                                  0.0s
     => => transferring context: 2B                                                                                    0.0s
     => [internal] load build definition from Dockerfile                                                               0.0se
     => => transferring dockerfile: 202B                                                                               0.0s
     => [internal] load metadata for docker.io/library/tomcat:9-jdk17                                                  0.0s
     => CACHED [1/3] FROM docker.io/library/tomcat:9-jdk17                                                             0.0s
     => [internal] load build context                                                                                  2.4s
     => => transferring context: 77.37MB                                                                               2.4s
     => [2/3] COPY target/helloo-mvc.war /usr/local/tomcat/webapps/mvc.war                                             0.4s
     => [3/3] COPY src/main/resources/configs/Wallet_G6TQWS0RD531W8SK /Wallet_G6TQWS0RD531W8SK                         0.0s
     => exporting to image                                                                                             0.3s
     => => exporting layers                                                                                            0.3s
     => => writing image sha256:94088e97c444fc7e9a06ee024e14316821f60536439171337a99494c6d3e1dab                       0.0s
     => => naming to docker.io/library/helloo-mvc                                                                      0.0s
    
    What's Next?
      1. Sign in to your Docker account → docker login
      2. View a summary of image vulnerabilities and recommendations → docker scout quickview
    
    C:\Workspaces\web_server_workspace\helloo-mvc>docker image ls
    REPOSITORY   TAG       IMAGE ID       CREATED             SIZE
    helloo-mvc   latest    94088e97c444   10 seconds ago      505MB
    menu         latest    273ebf3df6ea   About an hour ago   431MB
    tomcat       9-jdk17   fa1be3d5406a   5 days ago          428MB
    
    C:\Workspaces\web_server_workspace\helloo-mvc>docker ps
    CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
    
    C:\Workspaces\web_server_workspace\helloo-mvc>docker ps -a
    CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
    
    C:\Workspaces\web_server_workspace\helloo-mvc>docker run -d -p 8080:8080 --name helloo-mvc-app helloo-mvc
    e47710922eb35848e2444ad280a9cd6a758da85c13d312d922eff92c77bf6734
    docker: Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:8080 -> 0.0.0.0:0: listen tcp 0.0.0.0:8080: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted.
    
    C:\Workspaces\web_server_workspace\helloo-mvc>docker ps -a
    CONTAINER ID   IMAGE        COMMAND             CREATED          STATUS    PORTS     NAMES
    e47710922eb3   helloo-mvc   "catalina.sh run"   23 seconds ago   Created             helloo-mvc-app
    
    C:\Workspaces\web_server_workspace\helloo-mvc>docker start e477
    e477
    
    C:\Workspaces\web_server_workspace\helloo-mvc>docker image ls
    REPOSITORY   TAG       IMAGE ID       CREATED             SIZE
    helloo-mvc   latest    94088e97c444   2 minutes ago       505MB
    menu         latest    273ebf3df6ea   About an hour ago   431MB
    tomcat       9-jdk17   fa1be3d5406a   5 days ago          428MB
    
    C:\Workspaces\web_server_workspace\helloo-mvc>

     

     

    Microsoft Windows [Version 10.0.19045.3930]
    (c) Microsoft Corporation. All rights reserved.
    
    C:\dev>dir
     C 드라이브의 볼륨: OS
     볼륨 일련 번호: A8C6-3537
    
     C:\dev 디렉터리
    
    2024-01-15  오전 09:44    <DIR>          .
    2024-01-15  오전 09:44    <DIR>          ..
    2023-11-09  오후 08:57    <DIR>          apache-tomcat-9.0.83
    2023-12-06  오전 10:55        12,344,614 apache-tomcat-9.0.83.zip
    2019-03-21  오후 07:00         6,537,016 BANDIZIP-SETUP.EXE
    2022-08-12  오후 02:35        20,402,176 chromeremotedesktophost.msi
    2023-09-14  오후 06:39    <DIR>          com
    2023-09-21  오전 09:46            36,068 com.zip
    2023-09-11  오전 08:43        95,775,520 DiscordSetup.exe
    2023-09-11  오전 10:25                61 Discord초대링크.url
    2023-09-11  오후 03:10    <DIR>          Ditto
    2024-01-15  오전 09:44       619,595,368 Docker Desktop Installer.exe
    2023-10-13  오전 11:39    <DIR>          eclipse
    2023-09-11  오전 08:59       541,505,735 eclipse-jee-2022-12-R-win32-x86_64.zip
    2023-12-06  오후 05:40        60,868,040 Git-2.43.0-64-bit.exe
    2023-12-06  오전 10:56       811,005,512 ideaIU-2023.2.5.exe
    2024-01-15  오전 09:49    <DIR>          MobaXterm_Portable_v23.6
    2024-01-11  오후 03:49        41,928,873 MobaXterm_Portable_v23.6.zip
    2023-09-11  오전 08:43        74,951,952 Notion Setup 2.0.53.exe
    2023-09-11  오전 08:56       189,034,992 OpenJDK17U-jdk_x64_windows_hotspot_17.0.8.1_1.zip
    2023-10-17  오전 10:07    <DIR>          OracleXE213_Win64
    2023-10-16  오후 05:51     1,967,615,483 OracleXE213_Win64.zip
    2023-12-06  오후 05:44        24,298,960 SourceTreeSetup-3.4.15.exe
    2024-01-12  오후 06:17    <DIR>          sqldeveloper
    2023-10-17  오전 09:16       510,182,719 sqldeveloper-23.1.0.097.1607-no-jre.zip
    2023-12-29  오전 09:29    <DIR>          sql_backup
    2024-01-12  오후 03:57       433,728,512 tomcat.tar
    2024-01-11  오후 03:52     2,133,391,360 ubuntu-22.04.3-live-server-amd64.iso
    2024-01-11  오후 03:48       110,896,736 VirtualBox-7.0.12-159484-Win.exe
    2023-12-28  오후 06:48    <DIR>          Wallet_G6TQWS0RD531W8SK
    2023-12-28  오후 04:33            22,012 Wallet_G6TQWS0RD531W8SK.zip
    2023-12-26  오후 08:09    <DIR>          Workspaces
    2023-10-18  오후 12:19    <DIR>          인천교육서체(4종)
                  20개 파일       7,654,121,709 바이트
                  13개 디렉터리  392,862,351,360 바이트 남음
    
    C:\dev>docker load -i tomcat.tar
    a1360aae5271: Loading layer [==================================================>]  80.37MB/80.37MB
    f2d20993b483: Loading layer [==================================================>]  52.58MB/52.58MB
    f6f4ab056ca4: Loading layer [==================================================>]  279.4MB/279.4MB
    4136fa0b9cc7: Loading layer [==================================================>]  3.072kB/3.072kB
    1b7b11b3df09: Loading layer [==================================================>]  3.072kB/3.072kB
    ca34cba18d32: Loading layer [==================================================>]  3.072kB/3.072kB
    2ae21097c5bc: Loading layer [==================================================>]  21.29MB/21.29MB
    6526f990ed69: Loading layer [==================================================>]  2.048kB/2.048kB
    Loaded image: tomcat:9-jdk17
    
    C:\dev>docker image ls
    REPOSITORY   TAG       IMAGE ID       CREATED      SIZE
    tomcat       9-jdk17   fa1be3d5406a   5 days ago   428MB
    
    C:\dev>

     

     


    aws 사용하기

    1.docker hub 가입

    2.aws 가입

     

    '공부 > web-server' 카테고리의 다른 글

    0112  (0) 2024.01.12
    0111 ubuntu 설치 - 설정  (0) 2024.01.11
    1220 WebServer 10일차  (0) 2023.12.20
    1219 WebServer 9일차  (1) 2023.12.19
    1215 WebServer 8일차  (0) 2023.12.15
    댓글