본문 바로가기

반응형

Study/Docker & Kubernetes

(24)
Dockerfile 명령어 명령어는 대소문자를 가리지 않으나 보통 대문자로 사용함 https://docs.docker.com/engine/reference/builder/ Dockerfile reference docs.docker.com 아래의 경우 docker 실행 가능한 jenkins 이미지를 만드는 Dockerfile이다. FROM jenkins/jenkins:jdk11 MAINTAINER bluesky USER root RUN curl -fsSL https://get.docker.com -o get-docker.sh \ && sh get-docker.sh RUN usermod -aG docker jenkins USER jenkins 위 Dockerfile은 다음과 같이 수행된다. jdk11 버전의 jenkins image를..
개인 공부용 Docker Desktop kubernetes 설정 모음 여러 오픈소스를 공부할 때 Docker Desktop for Windows에서 제공하는 kubernetes를 애용한다. docker container만으로도 충분히 쓸만하지만 계속 container가 초기화되어 데이터가 유지되지 않거나 또는 매번 window 구동 시 container를 일일이 띄우는 게 귀찮거나 하는 잡다한 문제들이 있다. 환경 구성 설정을 관리하여 이런 문제들을 해결해 나갈 수 있지만 container가 많아질 수록 그 container를 계속 유지하는 게 귀찮아지게 된다. 이런 문제를 편하게 해결 할 수 있는 게 kubernetes인데 예전에는 minikube를 사용할 수 있었지만 그것도 설치하는 게 너무 귀찮고 복잡했다. 하지만 요즘은 Window Docker Desktop이 ku..
Docker Desktop Community 2.3.0.2 이후 Windows 10 Home 지원 시작 Docker는 그동안 windows 10 pro에서만 사용이 가능했다. 이제 windows 10 home에서도 docker 사용이 가능해졌다. https://docs.docker.com/docker-for-windows/release-notes/ Docker Desktop for Windows Stable Release notes This page contains information about the new features, improvements, known issues, and bug fixes in Docker Desktop Stable releases. For information about Edge releases, see the Edge release notes. For... docs.doc..
window docker desktop 2.3.0.2에서 kubernetes volume mount가 되지 않는 현상 2020-05-12 새벽에 docker desktop 업데이트 알림이 와서 업데이트를 하고 나니 kubernetes에서 사용하던 volume mount 설정이 제대로 동작하지 않는 것을 확인하였다. volumes: - name: jenkins-home hostPath: path: /C/data/jenkins-home - name: jenkins-m2 hostPath: path: /C/data/jenkins-m2 위와 같이 hostPath를 사용하고 있었는데 window volume을 제대로 인식하지 못했다. 2.3.x 버전 이후 드라이브 공유에서 디렉터리 공유 형태로 변경되면서 뭔가 문제가 있는 듯하다. 기존의 네트워크 드라이버 공유와 비슷하게 디렉터리 공유 설정을 한 후 docker 컨테이너 생성 시 ..
자주 쓰는 Docker 명령어 Docker는 개인 공부하면서 쓰는 정도라 전문적인 사용법을 알고 있지는 않다. 자주 쓰는 명령어를 기록해 둔다. docker 19.03.5 기준 작성 기본적인 Docker 명령어 사용 # docker [COMMAND] docker docker 명령어는 모두 docker [COMMAND]의 형태이다. 'docker' 명령어만 실행하면 사용할 수 있는 명령어가 모두 나열된다. docker를 사용하면 docker hub에서 docker image를 가져와서 container를 만든다. 수많은 명령어가 있는데 자주 쓰는 명령어는 다음과 같다. 모든 명령어의 자세한 내용을 확인하고 싶은 경우 docker COMMAND --help를 추가하면 된다. 예를 들어 run 명령어의 자세한 내용은 다음과 같이 확인할 수..
Docker compose 사용하기 https://docs.docker.com/compose/ 개요 Docker compose는 여러 개의 container를 정의하고 실행하기 위한 도구이다. compose를 사용하면 yaml 파일을 사용해서 서비스를 구성할 수 있다. compose는 모든 환경 (production, staging, development, test, CI workflow)에서 동작한다. compose 사용은 기본적으로 3단계 프로세스이다. 모든 환경에서 재생산할 수 있게 Dockerfile을 정의 격리된 환경에서 함께 실행할 수 있도록 docker-compose.yml로 앱을 구성하는 서비스를 정의 docker-compose up 명령으로 전체 앱을 시작 docker-compose.yml의 모양은 다음과 같다. versi..
Docker network 사용하기 개인 공부하는 관점에서 사용하는 것을 정리한 내용이기 때문에 실무랑 상관없는 내용입니다. Docker network 소개 Docker를 설치하면 host의 network interface에 docker0이 추가된다. (리눅스는 ifconfig로 확인, 윈도우는 ipconfig로 확인) docker0은 컨테이너와 통신하기 위한 가상 ethernet bridge이고 L2 통신 기반이라고 한다. 컨테이너를 만들면 컨테이너 내부에 eth0이란 이름으로 pair interface가 생성이 되고 host의 docker0에 vethX~ 이름의 bridge가 생성이 되어 연결된다. 우분투의 경우 brctl 명령어로 bridge를 확인할 수 있다. brctl show docker0 또는 ip 명령어로도 확인할 수 있다...
Docker 에 설치한 Jenkins container 에서 java 11 과 Docker 사용하기 현재 기준의 도커에서 jenkins를 설치하면서 해당 jenkins container에서 java 11과 docker를 사용하는 방법을 설명한다. 현재 jenkins의 Global Tool Configuration -> install automatically에서 Oracle JDK를 설치하는 것을 9 버전 까지만 지원하고 오라클의 라이선스 정책 변경 때문에 10 이상 버전은 더 이상 지원하지 않는다. https://issues.jenkins-ci.org/browse/JENKINS-54305 수동으로 설치하는 방법도 있긴 한데 그냥 jenkins 이미지 자체를 jdk 11로 실행한 경우 별도 설정 없이 편하게 java 11을 사용할 수 있다. 개인적으로 개발할 때는 굳이 이런저런 설정 없이 편하게 사용하는..

반응형