개발 등 214

vi 명령어 정리

1. vi 명령어 구조 - 명령모드 (command mode): vi 명령어로 편집기가 시작되었을 때나 다른 모드애서 ESC 를 눌렀을 때의 모드 - 입력모드 (insert mode): 명령모드에서 입력에 해당하는 명령어(i, a, o) 등을 입력해서 글을 작성할 수 있는 모드 - 마지막행 모드 (last line mode): 명령모드에서 콜론(:)을 입력하면 편집기 마지막 라인에 명령어를 입력할 수 있는 모드. 이 모드에서는 저장, 종료, 편집 환경 지정(라인번호 보여주기, syntax 모드 변경 등) 등을 할 수 있다. 2. 명령모드의 명령어 명령어 설명 i 현재 커서 위치에 글 삽입 a 현재 커서 바로 다음 위치에 글 삽입 o 다음 줄에 글 삽입 (알파벳 소문자) [ 글자수]x 커서가 위치한 곳의 ..

개발 등/LINUX 2023.03.12

Docker Swarm 모드의 Round-Robin 방식에 대해

Round-Robin 방식이란 시분할 시스템을 위해 설계된 컴퓨터, 네트워크 스케쥴링 알고리즘의 하나이다. 도커 스웜모드는 라운드-로빈 방식을 사용하는데, 각 프로세스에 할당한 일정시간 지나면 스웜 클러스터 내의 다른 프로세스들에게 돌아가며 기회를 부여하는 운영방식이다. 보통 시간 단위는 10 ms ~ 100 ms 정도로, 시간 단위동안 수행한 프로세스는 준비 큐의 끝으로 밀려나게 되고, 전환의 오버헤드가 큰 반면에 응답시간이 짧은 장점이 있어 실시간 시스템에 유리합니다.

개발 등/DOCKER 2023.03.10

Ubuntu Docker Engine 설치

아래 버전에 해당하는 Ubuntu에 적용 ``` Ubuntu Kinetic 22.10 Ubuntu Jammy 22.04 (LTS) Ubuntu Focal 20.04 (LTS) Ubuntu Bionic 18.04 (LTS) ``` 예전 버전 삭제 $ sudo apt-get remove docker docker-engine docker.io containerd runc apt package index 업데이트하고 HTTPS를 통해 repository 를 이용하기 위한 apt pakcage 설치 $ sudo apt-get update && sudo apt-get install ca-certificates curl gnupg lsb-release 공식 GPG key 추가 $ sudo mkdir -m 0755 -..

EC2 우분투 root 계정 비밀번호 설정

AWS의 EC2 서버를 ubuntu로 생성한 후 private key로 접속하면 root 계정의 비밀번호가 없어 sudo 권한이 필요할 경우 비밀번호를 설정해야 하는 경우가 생긴다. 이럴 때는 root의 비밀번호를 초기화해주면 된다. ubuntu@....: ~$ sudo passwd root New password: Retype new password: passwd: password updated successfully후 su 명령어로 초기화한 비밀번호로 접속할 수 있다

도커 호스트 모니터링

CAdvisor 사용 구글이 만튼 도커 컨테이너 모니터링 도구 docker run \ --volume=/:/rootfs:ro \ --volume=/var/run:/var/run:ro \ --volume=/sys:/sys:ro \ > --volume=/var/lib/docker/:/var/lib/docker:ro \ > --volume=/dev/disk/:/dev/disk:ro \ > --publish=8080:8080 \ > --detach=true \ > --name=cadvisor \ > google/cadvisor:latest * volume으로 마운트되는 디렉토리는 도커 데몬의 정보를 담고 있다. * 실행 후 포트된 localhost:8080으로 접속하면 웹 모니터링 화면으로 접속해서 확인할 수 ..

개발 등/DOCKER 2023.03.07

Dockerfile 로 빌드할 때 주의 사항

RUN 으로 실행하면 해당 레이어가 이미지에 포함되므로 의도치 않은 결과를 가져올 수 있다 # vi Dockerfile FROM ubuntu RUN mkdir /test RUN fallocate -l 100mb /test/dummy RUN rm /test/dummy 빌드해보면 아래의 결과를 볼 수 있다. 원래 ubuntu:77MB 빌드된 이미지: 200MB 이유는 마지막 RUN rm /test/dummy하기 전 RUN fallocate -l 100mb /test/dummy로 생성된 레이어가 이미 이미지에 포함이 되었기 때문이다. 이를 해결하기 위해서는 레이어를 따로 생성하지 않고 최종 명령어가 반영된 최종 레이어만 이미지에 포함하면 된다. 그러기 위해서는 RUN 명령어에 && 연산자를 사용해서 하나의 명..

개발 등/DOCKER 2023.03.07

DOCKER HUB에 이미지 배포

이미지 생성 # docker run -it --name first_container ubuntu 이미지 커밋 # docker commit first_container [이미지명]:태그 도커 계정 생성 도커 허브 리포지토리 생성 이미지명 및 태그명을 리포지토리에 맞춰서 변경 도커 계정 로그인 # docker login 이미지 푸시 # docker push [저장소이름]/[이미지명]:태그 혹 docker.io/v2/: net/http: TLS handshake timeout 에러가 발생할 경우, ubuntu:sudo service docker restart centos: sudo systemctl restart docker

개발 등/DOCKER 2023.03.04