1.1 도커란 무엇인가?

  • 컨테이너와 가상머신의 차이점

    특징  컨테이너(Container) 가상머신(Virtual Machine)
    격리 수준 운영체제(OS) 수준 격리 하드웨어(Hardware) 수준 격리
    구성 요소 컨테이너 엔진(Docker, Podman 등) + 애플리케이션 하이퍼바이저(VMware, VirtualBox 등) + 게스트 OS
    크기 경량(몇 MB) 무겁고 큼(몇 GB 이상)



    VM과 비교해 컨테이너는 다음 용도에 가장 적합합니다. 
    • 클라우드 네이티브 애플리케이션 빌드
    • 마이크로서비스 패키징
    • DevOps 또는 CI/CD 사례로 애플리케이션 통합
    • 확장 가능한 IT 프로젝트를 다양한 IT 풋프린트 전반으로 이동 
    컨테이너와 비교해 VM은 다음 용도에 가장 적합합니다.
    • 기존, 레거시 및 모놀리식 워크로드 수용
    • 위험한 개발 사이클 분리
    • 인프라 리소스(예: 네트워크, 서버, 데이터) 프로비저닝
    • 별도의 OS에서 다른 종류의 OS 실행(예: Linux에서 Unix 실행)

 

20240725 리눅스.pptx
1.99MB

 

'개발환경 > Linux' 카테고리의 다른 글

[Linux] 리눅스 기본 명령어  (1) 2024.01.23

https://develop-writing.tistory.com/127

'개발환경 > AWS' 카테고리의 다른 글

[AWS] 외부 도메인 등록  (0) 2024.02.19
[ AWS] 도메인 등록 하는법  (0) 2024.02.08
[AWS] 계정 생성  (0) 2024.01.24

https://rustywhite404.github.io/aws/2022/02/23/Aws-route53/

'개발환경 > AWS' 카테고리의 다른 글

[AWS] HTTPS 인증서 생성  (0) 2024.02.19
[ AWS] 도메인 등록 하는법  (0) 2024.02.08
[AWS] 계정 생성  (0) 2024.01.24

https://yeopbox.com/intellij%EC%97%90%EC%84%9C-spring-framework-mvc-web-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%83%9D%EC%84%B1%ED%95%98%EA%B8%B0/

'개발환경 > Intellij' 카테고리의 다른 글

[InteliJ] Copilot  (0) 2023.10.27
[IntelliJ] 인텔리 제이 장점.  (0) 2023.10.26

https://artiiicy.tistory.com/18

'개발환경 > AWS' 카테고리의 다른 글

[AWS] HTTPS 인증서 생성  (0) 2024.02.19
[AWS] 외부 도메인 등록  (0) 2024.02.19
[AWS] 계정 생성  (0) 2024.01.24

https://get.jenkins.io/redhat-stable/

'개발환경 > JenKins' 카테고리의 다른 글

[Jenkins] 젠킨스 구조도  (2) 2023.11.29

https://aws.amazon.com/ko/

 

클라우드 서비스 | 클라우드 컴퓨팅 솔루션| Amazon Web Services

Amazon Q로 일하는 신세계에 오신 것을 환영합니다

aws.amazon.com

 

아마존 AWS 시스템틀 이용하기 위해선 계정 생성이 필요하다. 

현재 생성하는 계정은 리눅스 계정이 아닌 AWS 접속(회원 가입을 위한 계정)을 위한 계정이다. 

 

회원 가입 페이지.

 

 

이메일 입력후 페이지.

 

 

입력한 메일에 확인코드가 생성된다.

 

이메일 인증 완료후.

회원 로그인 할때  사용되는 패스워드로 잘 기억해 두도록 하자.

 

 

전화 번호 외에는 인증 하거나 하는 절차가 없으므로 대강 입력해도 상관은 없다. 

 

 

요금 결제등을 처리하기 위해 카드 등록을 진행.

 

'개발환경 > AWS' 카테고리의 다른 글

[AWS] HTTPS 인증서 생성  (0) 2024.02.19
[AWS] 외부 도메인 등록  (0) 2024.02.19
[ AWS] 도메인 등록 하는법  (0) 2024.02.08

1. ls (List segments) : 현재 위치의 파일 목록 조회

  • ls -l : 파일의 상세정보
  • ls -a : 숨김 파일 표시
  • ls -t : 파일들을 생성시간순(제일 최신 것부터)으로 표시
  • ls -rt : 파일들을 생성시간순(제일 오래된 것부터)으로 표시
  • ls -f : 파일 표시 시 마지막 유형에 나타내는 파일명을 끝에 표시
    ('/' : 디렉터리, '*' : 실행파일, '@' : 링크 등등,,,)

 

2. cd (Change directory) :디렉터리 이동

  • cd [디렉터리 경로] : 이동하려는 디렉터리로 이동 (경로 입력 시 '[', ']'부분은 빼고 입력!)
  • cd ~ : 홈 디렉터리로 이동
  • cd / : 최상위 디렉터리로 이동
  • cd . : 현재 디렉터리 
  • cd .. : 상위 디렉터리로 이동
  • cd - : 이전 경로로 이동

 

3. mkdir (Make dirctory) : 디렉터리 생성

  • mkdir dirname : dirname이라는 디렉터리 생성
  • mkdir dir1 dir2: 한 번에 여러 개의 디렉터리 생성
  • mkdir -p dirname/sub_dirname : dirname이라는 디렉터리 생성, sub_dirname이라는 하위 디렉터리도 생성
  • mkdir -m 700 dirname : 특정 퍼미션(권한)을 갖는 디렉터리 생성

<파일의 퍼미션>

8진수 2진수 권한 의미
0 000 --- 아무 권한 없음
1 001 --x 실행 권한만 있음
2 010 -w- 쓰기 권한만 있음
3 011 -wx 쓰기,실행 권한 있음
4 100 r-- 읽기 권한만 있음
5 101 r-x 쓰기,실행 권한 있음
6 110 rw- 읽기,쓰기 권한 있음
7 111 rwx 모든 권한 있음

예를 들어 '777'의 경우 이진수로 111111111이고 rwxrwxrwx라는 의미를 가지므로 파일 소유자, 소유 그룹, 일반 사용자에게 읽기, 쓰기, 실행의 모든 권한을 주는 설정이다.

 

4. cp (Copy) : 파일 복사

  • cp file1 file2 : file1을 file2라는 이름으로 복사
  • cp -f file1 file2 : 강제 복사(file2라는 파일이 이미 있을 경우 강제로 기존 file2를 지우고 복사 진행)
  • cp -r dir1 dir2 : 디렉터리 복사. 폴더 안의 모든 하위 경로와 파일들을 복사

 

5. mv (Move) : 파일 이동

  • mv file1 file2 : file1 파일을 file2 파일로 변경
  • mv file1 /dir : file1 파일을 dir 디렉터리로 이동
  • mv file1 file2 /dir : 여러 개의 파일을 dir 디렉터리로 이동
  • mv /dir1 /dir2 : dir1 디렉터리를 dir2 디렉터리로 이름 변경

 

6. rm (Remove) : 파일 삭제

  • rm file1 : file1을 삭제
  • rm -f file1 : file1을 강제 삭제
  • rm -r dir : dir 디렉터리 삭제 (디렉터리는 -r 옵션 없이 삭제 불가)

 

 

7. pwd

Print Work Directory의 약자이며, 현재 작업 중이거나 사용자가 있는 디렉터리의 경로를 보여준다.

8. cd

Change Directory의 약자이며, 인자값 없이 사용하게 된다면 홈 디렉토리(~)로 이동하는 명령을 수행한다.

cd 뒤에 상대 경로(.., ./tmp)나 절대 경로(/Users/Documents)를 붙여주면, 해당 경로로 이동하는 명령을 수행한다.

 

 

# 시스템 조작

9. uname

Unix Name의 약자이며, 이름, 버전 및 기타 시스템 특정 세부 사항과 같은 시스템 정보를 얻기 위한 기본 Linux 명령어다. 이 명령으로 OS 및 커널 버전을 빠르게 확인할 수 있으며, 시스템의 명령 길이를 확인할 수 있다.

macOS의 uname 기능들은 다음과 같다.

  • uname -a : 시스템의 모든 정보를 출력
  • uname -m : 시스템 하드웨어 타입 정보
  • uname -n : 사용중인 네트워크 호스트 이름 확인
  • uname -p : 프로세서 정보 확인
  • uname -r : 커널 릴리즈 확인 (운영체제 배포 버전)
  • uname -s : 커널명 확인
  • uname -v : 커널 버전 확인

10. ps

Process Status의 약자로, 현재 시스템에서 실행 중인 프로세스를 시각화해준다. 시스템 리소스를 분석하는데 사용되는 매우 유연한 수단이며, 터미널을 통해 기본적으로 시스템 프로세스를 조작할 수도 있다. ps는 기본 및 최상의 Linux 모니터링 도구 중 하나로 간주된다. ps는 서버 관리에서 가장 중요한 명령어이다보니 옵션들을 자세히 기술 해놓으려 한다. 참고로, ps 외에 실시간으로 프로세스의 상태를 보고 싶다면 top 명령어를 쓰는 방법도 있다.

  • ps : 명령어를 입력한 순간의 프로세스 정보 출력. 현재의 Shell에 의해서 수행된 프로세서들을 조회활 수 있다.
    • ps -f : Full Listing. 프로세스 정보에 대해 상세하게 출력한다. (uid, pid, parent pid, CPU 사용량, 시작 시간 등등)
    • ps -l : Long Listing. 프로세스의 기본 정보 및 프로세스가 사용하고 있는 OS 자원(CPU, Memory)의 활용 규모, OS의 리소스 활성화 상태 등을 출력한다.
    • ps -o : Optional Listing. 프로세스의 상태값 중 출력을 원하는 컬럼값을 지정하여 출력한다
  • List에서 각 칼럼의 정보
    • UID : User ID. 일반적으로 컴퓨터의 최초 사용자를 가리키는 UID 501을 출력함. (다를 수 있다.)
    • PID : Process ID. 동일한 프로그램이지만 다른 PID를 부여 받을 수 있다.
    • PPID : Parent Process ID. 해당 프로세스를 실행시킨 부모 프로세스의 PID
    • TTY : The Controlling Terminal For the Process, 터미널 번호
    • Time : 시작 시간
    • CPU : 해당 프로세스가 사용한 CPU 시간의 양
    • CMD : 실행 중인 명령 커맨드
  • 현재 Shell 뿐만 아니라 모든 프로세스를 출력하고 싶을 때는 -e 옵션 또는 -aux 옵션을 사용한다. 리스팅 수가 너무 많을 수 있으니 "| less" 명령을 포함시키면 좋다.
    • 유닉스 옵션 : -a, -e, -u. "man ps" 명령어로 내장 매뉴얼 확인
    • BSD 옵션 : a, u, x.
      1. a : 터미널에서 실행한 프로세스의 정보 출력
      2. u : 프로세스 소유자 이름, CPU, 메모리 사용량 등 상세정보 출력
      3. x : 시스템에서 실행 중인 모든 프로세스의 정보 출력
  • 특정 유저의 프로세스 출력 : -u [UserName]

11. kill

자원 제한으로 인해 멈춘 프로세스를 중지하는 강력한 명령어다. Linux 시스템 기술을 발전시키다보면 해당 명령어의 본질과 중요성을 알게 된다. ps로 프로세스 목록을 확인하고, 멈추고자 하는 프로세스의 PID를 사용하면 된다.

$ kill [PID]

$ killall [Process Name]

12. service

시스템 전체 서비스를 호출하는 명령어다. 시스템 조작을 위한 강력한 Linux 터미널 명령, 터미널 창에서 직접 System V init 스크립트를 실행하기 위해 해당 명령어를 사용할 수 있다.

13. batch

자동화 쉘 스크립트 작성을 위한 또 다른 강력한 Linux 명령어 중 하나로 Linux 생산성을 크게 향상시킬 수 있다.

14. shutdown

Linux 명령어 shutdown은 halt, init과 함께 시스템을 종료하는 명령어 중 하나다. shutdown은 현재 접속 중인 모든 사용자에게 시스템이 종료된다는 메시지를 보낼 수 있다.


# 파일 관리

 

15. head

터미널에서 직접 파일 또는 파이프 된 데이터의 시작을 볼 수 있다. 텍스트 처리를 많이 사용하는 사용자가 가장 많이 사용하는 Linux 명령 중 하나다. 터미널에서 많은 파일을 처리할 때마다 이 명령을 사용하여 생산성을 향상 시킬 수 있다. 기본적으로 파일의 맨 위부터 10줄을 출력한다.

16. tail

파일의 마지막 행을 기준으로 지정한 행까지의 파일 내용 일부를 출력한다. 기본적으로 마지막 10줄을 출력한다. Linux에서 오류나 파일 로그를 실시간으로 확인할 때 매우 유용하게 사용한다.

 

 

 

29. history

터미널 세션의 bash 기록을 출력해주는 명령어

 

 

 

# 네트워크 관리

33. wget

네트워크 관리자가 터미널에서 바로 웹에서 파일을 다운로드하는데 활용하는 명령어. 해당 명령어는 스크립트나 크론 작업에 사용될 수 있는 편리한 작은 터미널 명령 중 하나이며, 사용자에게 HTTP, HTTPS 및 FTP 인터넷 프로토콜을 사용할 수 있는 기능을 제공한다.

34. iptables

시스템 관리자가 특정 호스트 시스템에서 들어오고 나가는 인터넷 트래픽을 제어할 수 있는 터미널 유틸리티를 호출하는 명령어. sysadmins는 정기 트래픽을 정의하고, 의심스럽거나 신뢰할 수 없는 네트워크 요청을 블랙리스트에 올리는 데 가장 많이 사용하는 명렁어이다.

35. traceroute

네트워크 패킷이 한 시스템에서 다른 시스템으로 이동하는 경로를 결정하기 위해 사용하는 명령어. 여러 가지 유해한 침입자로부터 컴퓨터를 보호할 수 있는 강력한 네트워크 명령어다.

36. cURL

네트워크를 통해 파일을 전송하여 새로운 Linux 시스템 사용자도 사용할 수 있는 매우 강력한 네트워크 도구. 사용자 개입 없이 작동하도록 설계된 Linux 명령어 중 하나이며, 일반적으로 네트워크 관련 쉘 스크립트에 사용된다.


# Linux 명령어 검색 및 정규 표현식

40. grep

대량의 텍스트 파일에서 패턴을 검색할 때 사용할 수 있는 가장 강력한 정규식 터미널 명령 중 하나이다. 찾고자 하는 패턴을 입력으로 받아 특정 패턴에 대해 지정된 파일을 검색한다.

41. sed

지정된 부분을 교체하여 파일 또는 스트림의 각 줄을 조작하는데 가장 많이 사용되는 명령어 중 하나이다. 많은 양의 텍스트 데이터를 다루고 이동 중에도 변경해야 하는 사용자들이 많이 사용한다.


# I/O 및 소유권

42. clear

터미널 화면을 지우는 데 사용하는 명령어.

43. echo

터미널 콘솔에 특정 텍스트를 출력할 수 있는 명령 줄 유틸리티이다. echo의 출력을 다른 터미널 명령으로 파이프 할 수도 있다.

 

45. sudo

sudo 명령어는 Linux 명령의 성배와 같다. 권한이 없는 사용자는 낮은 수준의 권한이 필요한 파일에만 액세스하고 수정할 수 있다. 해당 명령어를 사용하면 일반 사용자 계정에서 root에 액세스할 수 있다.

46. chmod

시스템 파일 또는 객체의 액세스 권한을 변경하거나 수정하는데 사용하는 명령어이다. 해당 명령어는 사용자로부터 다양한 매개 변수 세트를 취할 수 있으며, 파일 권한 변경에 따라 다르다.

47. chown

chown 명령은 chmod 명령과 매우 유사하다. 그러나 액세스 권한을 변경하는 것이 아닌, 파일 또는 디렉터리의 소유권을 변경하는 명령어이다. chmod와 chown 명령어는 모두 root 권한이 필요하다.


# 일상적인 사용을 위한 기타 명령어

49. tar

파일을 아카이브하고 추출하는데 사용하는 명령어. 파일을 압축하는데 널리 사용되는 명령어로, 매우 효율적으로 처리할 수 있다.

 

'개발환경 > Linux' 카테고리의 다른 글

[Linux] 리눅스 자료  (0) 2024.05.24

1.일반적으로 개발시 깃허브에 소스 형상 관리후 

  개발자가 수동으로 톰캣에 소스를 반영하게 된다. 

 

 

2. 젠킨스 적용 된 구조도는 다음과 같다. 

 

 

개발자가 깃허브에 업로드를 하게되면 젠킨스 서버는 깃허브 소스가 최신인지 확인을 한다. 

최신 소스라면 깃허브에 소스를 업데이트 받는다. 깃허브에 소스가 정상적으로 동작 한다면

톰캣에 반영되며 항상 깃허브에 등록된 최신 소스가 톰캣서버에 적용된다. 

 

       장점 .

       a. 깃허브에 등록된 소스가 정상적으로 동작 되고 있는지 확인 할 수 있다. 

       b. 개발서버의 최신화를 적은 유지비용으로 동작 시킬수 있다.

'개발환경 > JenKins' 카테고리의 다른 글

[Jenkins] 여러버전 링크  (0) 2024.01.31

+ Recent posts