- 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 어노테이션 부여하기
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 다음글이 없습니다.이전글이 없습니다.댓글