- 01152024년 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 어노테이션 부여하기
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/
에서 본인 os에 맞는 install file 다운로드. 나는 window라 window 버전을 다운로드하고 설치함.
FROM tomcat:9-jdk17 COPY target/menu.war /usr/local/tomcat/webapps/menu.war
성공했다면 아래의 커맨드 실행시 톰캣과 메뉴가 나옴..
docker image ls
docker run -d -p 8080:8080 --name menu-app menu
docker ps -a
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 다음글이 없습니다.이전글이 없습니다.댓글