명령어

컨테이너 내부에서 어던 일이 일어나는지 아는 것은 디버깅뿐만 아니라 운영 측면에서도 중요하다. 도커는 컨테이너의 표준 출력(StdOut)과 에러(StdErr) 로그를 별도의 메타데이터 파일로 저장하며 이를 확인하는 명령어를 제공한다. docker logs 명령어를 사용해 컨테이너의 표준 출력을 확인할 수 있다. $ docker run -d --name mysql \ -e MYSQL_ROOT_PASSWORD=1234 \ mysql:5.7 $ docker logs mysql 2022-12-27 10:19:09+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.7.40-1.el7 started. 2022-12-27 10:19:10+00:00 [N..
도커 클라이언트 관련 명령어 ▶ 도커 버전 출력 $ docker version ▶ 도커 상세 정보 출럭 $ docker info ▶ 도커 허브 로그인 $ docker login -u ▶ 도커 허브 로그아웃 $ docker logout 이미지 관련 명령어 ▶ 컨테이너 이미지 생성 $ docker commit : 옵션 설명 -a "" 작성자 설정 -m "" 메세지 설정 ▶ 이미지 목록 출력 $ docker search 옵션 설명 --automated=false Automated Build만 출력 --no-trunc=false 모든 결과 출력 -s[--stars=n] star 수가 n개 이상인 결과 출력 ▶ 이미지 다운받기 $ docker pull ▶ 이미지 목록 출력 $ docker image ls $ ..
만약 도커로 데이터베이스 컨테이너를 실행해 애플리케이션을 구동한다 했을 때 해당 데이터베이스 컨테이너가 삭제된다면 데이터도 삭제가 되고 복구할 수 없게 된다. 이런 경우에 데이터를 유지를 위한 몇 가지 방법이 있는데 그중 가장 활용하기 쉬운 방법이 볼륨 활용이다. 볼륨을 활용하는 방법은 여러 가지가 있다. 1. 호스트 볼륨 공유 호스트 볼륨 공유는 호스트화 컨테이너의 볼륨을 공유하는 것이다. 만약 MySQL 컨테이너를 사용해 애플리케이션을 구동한다 했을 때 호스트와 MySQL에서 데이터를 저장하는 볼륨을 공유할 수 있다. $ docker run -d \ --name mysql \ -e MYSQL_DATABASE=sample \ -e MYSQL_ROOT_PASSWORD=password \ -v /home/..
· MongoDB
다른 몽고DB 인스턴스에 연결 어떤 몽고DB 인스턴스든 셸을 연결할 수 있다. 다른 장비나 포트에 mongod를 연결하려면 셸을 시작할 때 호스트명, 포트, 데이터베이스를 명시해야 한다. 몽고DB 컨테이너를 하나 더 띄우고 다른 한쪽에서 접속을 해보자. 접속을 위해서는 IP를 확인해야 하므로 컨테이너의 IP를 알아내야 한다. $ docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mongodb2 172.17.0.3 mongodb2 컨테이너의 IP는 172.17.0.3이다. 이제 다시 mongodb 컨테이너로 접속해 mongodb2 컨테이너 안에 몽고DB에 접속해보자. 접속할때는 mongo {IP}:{PORT}..
Dockerfile 작성 모범 사례 컨테이너의 설계 철학에 맞게 이미지를 만들어야 생산성이 높아지고 운영 중 겪게 될 문제를 사전에 예방할 수 있다. 종래의 오케스트레이션 도구인 Ansible이나 Chef 등은 서버들의 목표로 하는 상태로 만든다는 사고 방식으로 동작한다. 그리고 그 동작 방식은 멱등성(Idempotence)에 기초하여 몇 번을 배포해도 한결같이 목표로 하는 상태로 만들어 준다. 이들 도구들은 서버의 기동이나 설정에 오랜시간 걸리는 것을 고려하여 만들어졌다. 도커의 경우는 Dockerfile에 운영체제와 의존 패키지를 기술하여 이미지를 만들면 굉장히 짧은 시간에 컨테이너를 기동/교체/종료할 수 있다. 그리고 이미지에는 운영체제와 패키지가 이미 모두 포함되어 있으므로 배포 시 추가적인 시간..
컨테이너의 생명 주기 컨테이너는 세 가지 상태를 가진다. 이미지 : 컨테이너의 모형이 되는 것으로 실행되기 전의 상태 실행 : 컨테이너 위에서 프로세스가 실행 중인 상태 정지 : 프로세스의 종료 코드, 로그가 보존된 채 정지한 상태 (1) docker pull(이미지 다운로드) 명령어 'docker pull 리포지터리명[:태그]'를 실행하면 원격의 리포지터리로부터 이미지를 다운로드 한다. (2) docker run(컨테이너 실행) 명령어 'docker run [옵션] 리포지터리명:태크 [커맨드] [인자]'는 지정한 이미지를 모형으로 컨테이너를 기동한다. 만약 로컬에 없으면 원격의 리포지터리에서 이미지를 다운로드하고 컨테이너를 실행한다. 기본값으로 설정된 원격 리포지터리는 도커 허드(Docker Hub)이..
kubectl 커맨드의 기본 쿠버네티스 클러스터에게 명령을 내릴 때는 kubectl을 사용한다. kubectl 커먼대의 기본 구조는 아래와 같이 세 부분으로 구성된다. kubectl [이름] [3. 옵션] 커맨드로 동작을 지정하고 리소스 타입과 이름으로 대상이 되는 오브젝트를 지정한 뒤 옵션을 지정 1. 커맨드 get 지정한 오브젝트의 목록을 한 줄에 하나씩 출력 kubectl get -f kubectl get kubectl get kubectl get describe get 보다 자세한 정보를 출력 kubectl describe -f kubectl describe kubectl describe kubectl describe apply 매니페스트에 기술된 오브젝트가 존재하지 않으면 생성하고, 존재하면 변..
컨테이너 환경 표시 도커 클라이언트와 서버 버전 표시 docker version 구체적인 환경 정보 표시 docker info 컨테이너의 3대 기능 기본이 되는 기능을 뽑자면 아래 3가지 기능이다. 1. 컨테이너 이미지 빌드 현 디렉터리에 있는 Dockerfile을 바탕으로 이미지를 빌드 docker build -t 리포지터리:태그 . docker image build -t 리포지터리:태그 . 로컬 이미지 목록 docker images docker image ls 로컬 이미지 삭제 docker rmi 이미지 docker image rm 이미지 로컬 이미지 일괄 삭제 docker rmi -f 'docker images -aq' docker image prune -a 2. 이미지의 이동과 공유 원격 리포지터..
· ETC
git 생성 $ git init 코드 클론 $ git clone 브랜치 생성 $ git branch 로컬 브랜치 삭제 $ git branch -d 원격 브랜치 삭제 $ git push — delete 로컬 브랜치 목록 $ git branch -a 원격 브랜치 목록 $ git branch -r 로컬 브랜치 선택 $ git checkout 원격 브랜치 선택 $ git checkout -t / 브랜치명 변경 $ git branch -m 수정한 파일 스테이지에 적용 $ git add # 해당 파일만 스테이지에 적용 $ git add . # 모든 변경사항 스테이지에 적용 코드 커밋 $ git commit -m “” 코드 새로고침 $ git fetch 원격 저장소 확인 $ git remote -v 원격 저장소 연결..
· Apache Kafka
[Kafka] EC2 생성 후 접속, Kafka 설치 및 설정 AWS EC2 생성 후 Inbound rule 추가 1. AWS Console 로그인 후 EC2에 접속 2. EC2 인스턴스 생성 3. 키 페어 생성 4. Inbound rule 추가 Inbound rule은 필요한대로 설정하면 되겠다. EC2 접속 후 Kafka 설치.. devbksheen.tistory.com 앞서 EC2를 생성하고 접속 후 Kafka를 설치하고 설정까지 해보았다. Local에서 Kafka를 설치 해 명령을 날려보자 Local에서 Kafka 명령어 날리기 1. 세팅 맞추기 위에 글에서와 같은 버전에 java와 kafka를 설치하고 똑같이 설정한다. wget 명령어가 되지 않는다면 Homebrew 설치 후 wget을 설치한다..
beekei
'명령어' 태그의 글 목록