개발자를 성장시키는 25가지 Docker 명령어(1)Docker는 애플리케이션과 그 의존성을 패키징하여 이식 가능하고 격리된 컨테이너를 효율적으로 관리할 수 있게 해줍니다. 이론만 이해하는 것으로는 충분하지 않습니다. 개발자를 한 단계 더hgko-dev.tistory.com이 글에서는 지난글에 이어서 Docker 명령어를 알려드리겠습니다.16. docker image prune설명: 사용하지 않는 이미지를 삭제합니다.장점: 개발 환경을 깔끔하게 유지합니다.docker image prune17. docker volume prune설명: 사용하지 않는 볼륨을 삭제합니다.장점: 불필요한 스토리지 사용을 방지합니다.docker volume prune18. docker events설명: Docker 서버의 실시간..
Docker는 애플리케이션과 그 의존성을 패키징하여 이식 가능하고 격리된 컨테이너를 효율적으로 관리할 수 있게 해줍니다. 이론만 이해하는 것으로는 충분하지 않습니다. 개발자를 한 단계 더 성장시키는 것은 Docker 명령어를 활용해 워크플로를 최적화하고, 성능을 개선하며, 확장 가능한 애플리케이션을 구축하는 능력입니다. 이 글에서는 Docker 명령어 25가지를 소개하며, 이를 통해 개발 및 배포 프로세스를 완벽하게 제어하고 일상적인 작업을 개선하는 방법을 알려드립니다.1. docker update설명: 컨테이너를 재시작하지 않고 리소스 제한을 업데이트합니다.장점: 중단 없이 리소스를 조정해 컨테이너 성능 저하를 방지합니다.docker update --cpus 2 --memory 1g 팁: 트래픽이 많은..
Java는 많은 서버 측 애플리케이션을 실행할 수 있는 인기 있는 프로그래밍 언어 및 소프트웨어 플랫폼입니다. 이 글에서는 CentOS 9 Stream에 Java의 오픈 소스 구현인 OpenJDK를 설치하는 방법을 보여드리겠습니다. 1단계: 운영 체제 확인 먼저 다음 명령을 실행하여 사용 중인 운영 체제를 확인해 보겠습니다. cat /etc/*release 2단계: Package Repository 업데이트하기 다음으로 최신 소프트웨어를 다운로드할 수 있도록 dnf 패키지 리포지토리를 업데이트합니다. sudo dnf update 3단계: 현재 Java 버전 확인 이제 다음 명령을 실행하여 설치한 Java 버전을 확인해 보겠습니다. java -version Java가 설치되지 않은 경우 출력에 명령을 찾을..
컨테이너화와 가상화는 IT 및 소프트웨어 배포 세계에서 사용되는 두 가지 다른 기술입니다. 다음은 두 가지에 대한 내용입니다. 컨테이너화(Containerization) 경량: 컨테이너는 가상 머신(VM)에 비해 놀라울 정도로 가볍습니다. 호스트 OS 커널을 공유하므로 시스템 리소스를 덜 소비하고 빠르게 시작할 수 있습니다. 이식성: 컨테이너는 애플리케이션과 모든 종속성을 캡슐화하여 이식성이 뛰어납니다. 개발용 노트북, 테스트 서버 또는 클라우드에서 동일한 컨테이너를 수정 없이 실행할 수 있습니다. Docker: Docker는 사용자 친화적인 도구와 표준화를 통해 컨테이너화를 대중화했습니다. 애플리케이션을 패키징하고 배포하는 방식에 혁신을 가져왔습니다. 마이크로서비스: 컨테이너는 마이크로서비스 아키텍처에..
mount 명령어는 디스크 드라이브와 같은 블록 디바이스(Block Device)만 마운트가 가능합니다. --bind 옵션을 추가하면 특정 디렉터리를 다른 디렉터리에 마운트(mount)해서 양쪽 디렉터리가 같은 곳으로 연결되도록 할 수 있습니다. $ mount --bind [원본 디렉토리] [붙일 디렉토리] 사용 예시 먼저 두 개의 디렉토리를 생성합니다. $ mkdir src $ mkdir dest --bind 또는 -B 옵션을 사용해서 src 디렉토리를 dest 디렉토리에 연결합니다. $ mount --bind src dest dest 디렉토리 하위에 파일을 생성을 하면 src 디렉토리에도 반영이 됩니다. $ touch dest/test 변경된 내용을 양쪽 모두 확인이 가능합니다. $ ls dest t..
리눅스 환경에서 ifconfig를 이용하여 네트워크 설정하는 방법을 알아보겠습니다. ifconfig 란 TCP/IP를 사용하여 네트워크의 네트워크 인터페이스 매개변수를 구성 또는 표시합니다. ifconfig 명령을 사용하여 네트워크 인터페이스에 주소를 지정하고 현재 네트워크 인터페이스 구성 정보를 구성 또는 표시할 수 있습니다. IP 주소 확인 옵션 없이 ifconfig 명령어만 실행하면 서버에 할당된 IP 주소를 확인합니다. $ ifconfig enp5s0: flags=4163 mtu 1500 inet 192.168.0.19 netmask 255.255.255.0 broadcast 192.168.0.255 inet6 fe80::d487:3f17:d845:654b prefixlen 64 scopeid 0..
리눅스 환경에서 netstat 명령어를 사용하여 네트워크 정보를 확인하는 방법에 대해 알아보겠습니다. netstat 란 netstat는 전송 제어 프로토콜, 라우팅 테이블, 수많은 네트워크 인터페이스, 네트워크 프로토콜 통계를 위한 네트워크 연결을 보여주는 명령 줄 도구이다. 위키백과 netstat는 네트워크 관련한 정보를 보는 유틸리티로 오래전부터 Unix 계열의 운영체제에서 사용되어 왔으며 현재 LISTEN 중인 포트, 모든 내외부/연결 정보 등을 확인할 수 있습니다. 자주 사용하는 netstat 옵션 -a : 모든 소켓보기, 이 옵션이 없으면 상태가 ESTABLISHED 인 것만 나옵니다. --all 옵션과 동일합니다. -n : 도메인 주소를 읽어들이지 않고 숫자로 출력합니다. -p : PID(프로..
리눅스 환경에서 PM2 서비스 등록하는 방법에 대해 알아보겠습니다. PM2에서는 시스템이 부팅되고 나서 자동으로 실행되도록 하는 서비스를 등록해 주는 startup 명령어가 있습니다. pm2 등록 $ pm2 start [파일명] --name test $ pm2 list 서비스 등록 pm2 startup 명령어를 사용하여 PM2 서비스를 등록합니다. $ pm2 startup [PM2] Init System found: systemd Platform systemd Template [Unit] Description=PM2 process manager Documentation=https://pm2.keymetrics.io/ After=network.target [Service] Type=forking User=..
리눅스 환경에서 Node.js 와 NPM 설치하는 방법에 대해 알아보겠습니다. 운영환경CentOS 7.6 저장소 추가설치하려는 Node.js 버전을 확인하여 NodeSource yum 저장소를 추가합니다.NodeSource Node.js Binary Distributions 사이트에 아래와 같은 내용이 정리되어 있습니다.Node.js v19.x# As root$ curl -fsSL https://rpm.nodesource.com/setup_19.x | bash -# No root privileges$ curl -fsSL https://rpm.nodesource.com/setup_19.x | sudo bash -Node.js v18.x# As root$ curl -fsSL https://rpm.nodeso..
리눅스 환경에서 사용자 계정 조회, 추가, 수정, 삭제하는 방법에 대해 알아보겠습니다. 사용자 조회 모든 사용자를 출력합니다. $ cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin ... 사용자 계정 확인 root와 useradd 또는 adduser 명령어를 통해 생성한 사용자 계정을 출력합니다. $ grep /bin/bash /etc/passwd root:x:0:0:root:/root:/bin/bash hgko:x:1000:1000:hgko:/home/hgko:/bin/ba..