본문 바로가기

Java/Deploy

(15)
[Docker] Jenkins version upgrade ## 실행중인 jenkins 컨테이너 확인 % docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 40d2ef954604 jenkinsci/jenkins:2.142-slim "/sbin/tini -- /usr/…" 4 hours ago Up 4 hours 0.0.0.0:8080->8080/tcp, 50000/tcp master 47fdbde9415d jenkinsci/ssh-slave "setup-sshd" 4 hours ago Up 4 hours 22/tcp slave01 ## jenkins container bash 접근 % docker container exec -u 0 -it 40d2ef954604 bash ## jenkins v..
[Docker] 젠킨스 SSH 키 생성 및 master-slave 컨테이너 설정 실제 관리 기능이나 작업 실행 지시등은 마스터(Leader) 인스턴스가 맡고, 작업을 실제로 진행하는 것은 슬레이브(Follower) 인스턴스가 담당한다. 이러한 구성의 컴포즈로 만들어 보겠다 !! :) 1 ) master 젠킨스 컨테이너에 접속할 수 있는 SSH 키 생성 - TERMINAL % docker container exec -it master ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/var/jenkins_home/.ssh/id_rsa): Created directory '/var/jenkins_home/.ssh'. Enter passphrase (empty for ..
[Docker] 도커 컴포즈로 여러 컨테이너 실행 및 젠킨스 연동 도커 컨테이너는 = 단일 애플리케이션 도커는 애플리케이션 배포에 특화된 컨테이너이다. 가상 서버와는 대상 단위의 크기 자체가 다르다. 즉 애플리케이션 간의 연동 없이는 실용적 수준의 시스템을 구축할 수 없다. 다시 말해, 도커 컨테이너로 시스템을 구축하면 하나 이상의 컨테이너가 서로 통신하며, 그 사이에 의존관계가 생긴다. 그러면 컨테이너의 동작을 제어하기 윈한 설정 파일이나 환경 변수를 어떻게 전달할지, 컨테이너 가느이 의존관계를 고려할 때 포트 포워딩을 어떻게 설정해야하는 지 등의 요소를 적절히 관리해야한다. 이때 필요 한 것이 ★ 도커 컴포즈(Docker Compose) 이다. compose는 yaml 포맷으로 기술된 설정파일로, 여러 컨테이너의 실행을 한번에 관리할 수 있게 해준다. docker-..
[Docker] 도커 운영 및 관리를 위한 명령어 ⌗ 컨테이너 및 이미지 일괄 파기 실행 중이 아닌 모든 컨테이너 삭제한다. 정지된 컨테이너들을 재시작하는 과정이 자주 있는 테스트 등의 업무에서는 정지된 컨테이너들이 유용하지만 대부분은 쓸모가 없기에 정기적으로 삭제하는 것이 좋다. % docker container prune WARNING! This will remove all stopped containers. Are you sure you want to continue? [y/N] y Deleted Containers: 5f0aaba90b06c65ed1e04d5f022ea864716966e8f3c932756c33700e4be8222d 5699f8de8bb4b995d15807008f8d397343be967f275d0d022aac95e5fe8cf777 ..
[Docker] 도커 컨테이너 사용을 위한 명령어 도커 컨테이너는 도커 이미지를 바탕으로 만든다. 따라서 도커 이미지를 다루는 방법에 익숙해져야 하므로 해당 게시글 최하단에 관련 링크를 걸어뒀으니 참고하면 된다 😋 도커 컨테이너는 가상환경으로 파일 시스템과 애플리케이션이 함께 담겨져 있는 박스라고 생각하면 된다. 이를 알려면 도커 컨테이너의 생애주기를 이해하면 된다. 도커 컨테이너의 생애 주기 실행 중 상태 docker container run 명령어로 도커 이미지를 기반으로 컨테이너가 생성되면 이 이미지를 생성했던 Dockerfile에 의해 애플리케이션이 실행된다. 그러면 이 애플리케이션이 실행 중인 상태가 컨테이너의 실행 중 상태가 된다. HTTP 요청을 받는 서버 애플리케이션이면, 오류로 인해 종료되지 않는 한 실행 중 상태가 지속되므로 실행 기간..
[Docker] 도커 이미지 사용을 위한 명령어 도커 이미지는 한마디로 정의해보면, 도커 컨테이너를 만들기 위한 템플릿이다. 이러한 도커 이미지를 사용하기 위한 기본 명령어를 살펴보자! 도커의 명령행 도구는 하위 명령 형태로 구성돼 있어, 아래와 같은 형태로 사용해야한다. % docker COMMAND SUBCOMMAND ⌗ 도커 도움말 % docker help Usage:docker [OPTIONS] COMMAND A self-sufficient runtime for containers Options: --config string Location of client config files (default "/Users/jenny/.docker") -c, --context string Name of the context to use to connect ..
[Docker] 도커 포트포워딩 Http 요청을 받는 애플리케이션을 사용하려면 컨테이너 밖에서 온 요청을 컨테이너 안에 있는 애플리케이션에 전달해줘야 한다. 그 역할을 담당하는 것이 바로 도커의 포트 포워딩 이다. 포트 포워딩이 되어있지 않은 경우, 아래와 같은 현상을 확인할 수 있다. % curl http://localhost:8080/ curl: (7) Failed to connect to localhost port 8080: Connection refused 그렇다면 포트 포워딩이란? 호스트 머신의 포트를 컨테이너 포트와 연결해 컨테이너 밖에서 온 통신을 컨테이너 포트로 전달한다. 이 기능 덕분에 컨테이너 포트를 컨테이너 외부에서도 이용할 수 있다. 그러면 지금부터 포트 포워딩을 해보자. 1 ) 실행 중인 컨테이너를 정지시킨다. ..
[Docker] 도커 이미지 / 컨테이너 다루기 도커의 사용법은 크게 아래와 같이 나뉜다. 이미지를 대상으로 하는 것 컨테이너를 대상으로 하는 것 그러면 도커 이미지는 무엇일까? 도커 이미지는 도커 컨테이너를 만들기 위한 템플릿 이다. 도커 이미지는 우분투 같은 운영 체제로 구성된 파일 시스템은 물론, 컨테이너 위에서 실행하기 위한 애플리케이션이나, 그 의존 라이브러리, 도구에 어떤 프로세스를 실행할지 등의 실행 환경의 설정 정보까지 포함하는 아카이브다. Dockerfile 역시 이미지를 구성하는 순서를 기술한 코드에 지아지 않기 때문에 이 자체는 이미지라고 할 수 없다. 컨테이너의 템플릿 역할 하는 이미지를 만드는 과정을 일반적으로 "도커 이미지를 빌드한다"고 한다. 그리고 컨테이너를 실행할 때 이 빌드된 이미지를 사용한다. 그러면 아래와 같이 예제..

❥ CHATI Github