docker나 kubernetes에 nexus artifactory를 만들고 docker image를 push 하려고 하면 필수 조건이 SSL 설정이다. 하지만 간단하게 로컬 개발 공부를 하려는 경우 SSL 설정 없이 쓰고 싶은 경우가 있다. 이런 경우 docker insecure registries 설정을 하면 해당 주소에 대해서는 https가 아닌 http로 요청하게 된다. Docker Desktop의 경우 insecure registries 설정 docker desktop을 사용하는 경우 settings -> Docker Engine 항목에서 configuration file을 설정할 수 있다. 아래와 같이 insecure registries를 추가하면 된다. { //... 생략 "insecure-..
한동안 Rancher Desktop에서 Docker 명령어를 사용하는 방법을 모르고 대안인 nerdctl을 사용하였었다. 사용하다 보니 여러모로 불편한 점이 많았다. (예를 들면 kubernetes의 yaml 파일에서 이미지 설정 시 로컬 docker image를 사용하지 못해 nexus repository를 만들어 올린 후 사용해야 하는 부분) 알고 보니 기본 설정이 nerdctl이고 docker도 사용이 가능하다는 걸 나중에 알게 되었다. 다음과 같이 Preferences에서 containerd 대신 dockerd를 선택하고 재시작하면 된다.
elasticsearch와 kibana를 공부해볼까 싶어 설치를 해보았다. Elastic stack 소개 ELK는 Elasticsearch, Logstash, Kibana를 말한다. 각각 다음과 같은 역할을 담당한다. Elasticsearch : 데이터 저장 & 검색 엔진 Logstash : 데이터 수집 Kibana : 시각화 기존 아파치 솔라 같은 검색 엔진은 라이브러리 형태로 제공되어 사용하기 위해 구현해야 하는 항목들이 많았다. ELK는 라이브러리가 아닌 플랫폼 수준으로 제공되는 오픈소스이고 이러한 묶음을 Elastic stack이라고 통칭한다. (이와 비슷하게 CNCF stack도 있다.) 설치하기 내 경우 window에서 docker desktop을 사용하여 kubernetes로 설치해보았고 E..
docker 또는 nerdctl을 사용하는데 다음과 같은 응답이 오는 경우가 있다. docker 사용 시 docker pull mongo Error response from daemon: Head "https://registry-1.docker.io/v2/library/redis/manifests/latest": received unexpected HTTP status: 503 Service Unavailable nerdctl 사용 시 nerdctl pull mongo failed to resolve reference "docker.io/library/mongo:latest": failed to authorize: failed to fetch anonymous token: unexpected status..
Window Docker Desktop이 개인 사용자에게는 무료이지만 기업에서는 유료화가 되었다. (정확한 기준은 more than 250 employees or more than $10 million in annual revenue, 직원 250명 이상 또는 연간 매출 천만 달러 이상인 경우 유료) 이로 인해 회사 PC에서 windows docker desktop을 사용하던 경우 다른 대안을 찾아야 하는 상황이 되었다. docker의 경우 docker desktop이 유료로 전환되었지만 wsl2를 이용하여 ubuntu에서 docker ce를 사용하는 것은 무료이다. 그리고 Rancher Desktop을 사용하면 마찬가지로 wsl2로 손쉽게 window에서도 kubernetnes를 사용할 수 있게 된다...
명령어는 대소문자를 가리지 않으나 보통 대문자로 사용함 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는 그동안 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..
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 19.03.5 기준 작성 기본적인 Docker 명령어 사용 # docker [COMMAND] docker docker 명령어는 모두 docker [COMMAND]의 형태이다. 'docker' 명령어만 실행하면 사용할 수 있는 명령어가 모두 나열된다. docker를 사용하면 docker hub에서 docker image를 가져와서 container를 만든다. 수많은 명령어가 있는데 자주 쓰는 명령어는 다음과 같다. 모든 명령어의 자세한 내용을 확인하고 싶은 경우 docker COMMAND --help를 추가하면 된다. 예를 들어 run 명령어의 자세한 내용은 다음과 같이 확인할 수..
docker를 Windows 10에서 사용하면서 docker 명령어가 응답이 없고 작업 관리자의 Disk가 활성 시간이 100%가 되는 경우가 있다. 대부분의 Docker container를 여러 개 띄워서 메모리를 많이 사용하는 경우 메모리 사용률이 설정된 값을 넘어서 disk로 메모리 사용이 대체되는 경우이다. 메모리를 얼마나 사용하고 있는지 확인하려면 다음 명령어를 사용한다. docker stats docker setting의 메모리 설정을 container가 사용한 총 합보다 높게 설정하면 된다. 추가로 이런 경우 docker를 종료하고 재시작한 후 container를 실행하면 대강 다음과 같은 에러가 발생하는 경우가 있다. ERROR: for worker Cannot start service w..