분류 전체보기 105

허브와 스위치

스위칭허브라는 기기가 있다. 어쩔 때는 이 단어를 '허브', '스위치'라는 이름과 혼용한다. 알고보니, "허브"라는 기기와 "스위치"라는 기기는 완전히 동일한 의미를 가진 건 아니었다. 허브란? 네트워크에서 여러 대의 컴퓨터나 장치를 연결하는 역할을 수행하는 기기이다. 예를 들어, 3대의 PC가 있고 1개의 허브가 있다고 하자. 이때, 3대의 PC의 LAN 선을 허브에 있는 포트에 모두 꽂았다면 3대의 PC는 이제 하나의 네트워크로 구성된다. 여기에 허브에 있는 다른 하나의 포트를 네트워크 라우터와 연결했다면 이제 3대의 PC는 인터넷까지 사용할 수 있다. 특징허브는 특정 장치에서 데이터를 받으면, 그 데이터를 어느 장치로 보내야 하는지 판단하지 못한다.왜냐하면, 허브는 자신에게 연결된 컴퓨터의 MAC ..

NAS에 대해

NAS란? Network Attached Storage의 약자로 네트워크에 연결된 전용 파일 저장 장치로 여러 사용자와 장치가 중앙에서 데이터를 접근하고 공유할 수 있도록 한다.NAS의 장점유연성: 로컬 액세스 뿐만 아니라 Wi-Fi 연결로 원격 액세스를 설정하여 서로 다른 기기와 인력이 협업할 수 있는 환경이 만들어진다. 뿐만 아니라 다양한 유형의 클라이언트(ex. UNIX, Windows 등)의 요청을 처리할 수 있다. 즉, NAS와 동일한 인터넷망을 사용하고 있는 기기들은 private한 클라우드를 하나 가졌다고 볼 수 있다.확장성 : NAS 노드는 추가 하드 디스크나 더 큰 하드 디스크로 스토리지 용량을 쉽게 확장할 수 있다.데이터 보안 : NAS 시스템은 데이터를 안전하게 보호하기 위해 내장형 ..

카테고리 없음 2025.06.18

오프라인 상태의 PC의 commit 내역들을 github에 push 하는 방법

.git 폴더란?Git이 코드의 변화를 추적하기 위한 모든 정보를 담고 있는 폴더때문에, 서로 다른 위치에 동일한 .git 폴더가 존재한다면 각각의 위치에서 git commit의 기록이 동일한 걸 확인할 수 있다.상황ex) 오프라인 상태의 PC를 A / 온라인 상태의 PC를 B라고 하자이 상황에서 A에 있는 git commit 내역을 github에 업로드하려고 한다. 과정A PC에 있는 .git 폴더를 압축한다. 압축 파일 형식은 상관없다. .git 폴더를 손쉽게 가져오기 위해서 압축하는 것이기 때문이다.'압축'이 아닌 다른 방식을 사용해도 상관없다. A PC에 있는 .git 폴더를 B PC에 온전히 옮길 수만 있으면 된다.A PC에 있는 .git 폴더를 압축한 파일을 B PC에 옮긴다.B PC에서 해당..

카테고리 없음 2025.05.19

ifconfig 명령어

ifconfig 명령어란?ifconfig는 interface configuration의 줄임말로, 커널에 내장된(kernel-resident) 네트워크 인터페이스를 설정하는 데 사용된다. 이 명령어는 부팅 시 필요에 따라 인터페이스를 설정하며, 그 이후에는 일반적으로 디버깅이나 시스템 튜닝이 필요할 때만 사용된다. 이처럼 ifconfig는 네트워크 목록을 확인하는 것 뿐만 아니라 네트워크 인터페이스를 '설정'하는데도 사용되는 명령어이기도 하다. 이번 글에서는 ifconfig를 통해 출력되는 내용이 어떤 내용인지 정리하려고 한다.옵션 없이 ifconfig만 입력했을 때 출력되는 결과각 요소들의 의미와 예시 내용을 함께 살펴보겠다.enp5s0 : 네트워크 인터페이스의 이름 flags : 네트워크 카드의 상태..

카테고리 없음 2025.05.11

컨테이너 내부 파일 ⇔ 로컬 PC 파일 복사 (docker cp)

docker cp 컨테이너와 로컬 PC 사이에서 파일 또는 폴더를 복사하는 명령어 사용법 docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|- docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH 정리하면 docker cp [OPTION] 저장할파일또는폴더 저장위치예시 ex1) 로컬 파일(./some_file_in_loca)을 컨테이너의 work 폴더에 복사 docker cp ./some_file_in_local CONTAINER:/workex2) 컨테이너에 있는 /var/logs 폴더에 있는 모든 파일을 로컬 PC의 /tmp/app_logs 폴더에 복사 docker cp CONTAINER:/var/logs/ /tmp/app_lo..

Docker 2023.10.11

[Docker] Docker References - EXPOSE

EXPORT 명령어 기본 문법 EXPOSE [/...] EXPOSE 명령어(instruction)는 Docker에게 container가 동작하는 동안 특정 포트를 사용한다는 것을 알려준다. 포트의 프로토콜은 TCP 또는 UDP이고 기본값으로는 TCP가 적용된다. EXPOSE 명령어가 실제로 포트 번호를 publish하는 건 아니다. 단지 이미지를 빌드하는 사람과 컨테이너를 동작시키는 사람 사이에 어떤 포트를 publish하도록 의도되었는지를 문서의 형태로 제공된다. 진짜로 container에서 port 번호를 publish하고 싶다면 docker run을 할 때 컨테이너의 -p 옵션값을 설정해줘야 한다. ex) EXPOSE 80/udp # UDP의 80번 포트를 열도록 하고 싶음 EXPOSE 80/tcp..

Docker 2023.09.18

[Docker] Docker References - LABEL

기본적인 LABEL 명령어(instruction) 문법LABEL = = = ... LABEL 명령어는 image에 메타데이터를 추가하는 기능을 갖고 있다. 위와 같이 LABEL은 key-value 쌍이다. 만약 LABEL 값에 공백을 추가하고 싶다면 큰 따옴표와 \를 사용하면 된다. ex) LABEL "com.example.vendor"="ACME Incorporated" # 공백을 포함할 때 큰 따옴표를 사용함 LABEL com.example.label-with-value="foo" LABEL version="1.0" LABEL description="This text illustrates \ that label-values can span multiple lines." # 공백을 포함할 때 백슬래시랑..

Docker 2023.09.18

[Docker] Docker References - CMD

CMD 명령어(instruction) 형식CMD ["executable","param1","param2"] (exec 형식, 이 형식을 더 선호된다) CMD ["param1","param2"] (ENTRYPOINT에 대한 기본 파라미터) CMD command param1 param2 (shell 형식) Dockerfile에는 오직 하나의 `CMD 명령어`만 존재할 수 있다. 만약, 1개 이상의 CMD 가 있다면, 가장 마지막에 있는 CMD가 동작한다. `CMD의 주요 목적`은 실행하고 있는 컨테이너에 기본값을 제공하는 것이다. 이 기본값들은 `executable`을 포함하거나 생략할 수 있다. (물론, 생략하는 경우에는 ENTRYPOINT instruction을 확정해야 한다) 만약에 CMD가 ENTRY..

Docker 2023.09.15

[Docker] Docker References - RUN

RUN 명령어는 2개의 형태를 가진다. RUN ⇒ 여기서의 command는 shell 형식의 명령어다. Linux에서는 /bin/sh -c, Windows 에서는 cmd /S /C가 생략된 거라 보면 된다. RUN ["executable", "param1", "param2"] ⇒ 이를 exec form 이라고 함 RUN 명령어(instruction)는 현재의 이미지 위에 새로운 층(layer)에서 명령을 실행하고 결과를 커밋한다. 커밋된 결과 이미지는 Dockerfile의 다음 단계에서 사용된다. 이렇게 층층이 쌓이는 RUN 명령어와 커밋들은 커밋이 간편하고 컨테이너가 Docker의 핵심적인 개념을 준수한다. exec form을 통해 shell string을 처리해야 하는 작업을 피할 수 있고 shell..

Docker 2023.09.13