강의

멘토링

커뮤니티

BEST
개발 · 프로그래밍

/

데브옵스 · 인프라

Jenkins를 이용한 CI/CD Pipeline 구축

본 강의는 클라우드 네이티브 애플리케이션을 구성하는 4가지 핵심 요소(MSA, CI/CD, DevOps, Container) 중 하나인 CI(Continuous Integration, 지속적인 통합)과 CD(Continuous Deployment, 지속적인 배포) 파이프라인에 대한 다루는 강의입니다. 본 강의를 통해 CI/CD 도구인 Jenkins를 이용하여 로컬 환경과 클라우드 환경에 자신만의 자동화 파이프라인을 구축하고, 배포하는 데에 필요한 과정을 이해하고 실습해 볼 수 있습니다.

(4.7) 수강평 227개

수강생 4,736명

난이도 초급

수강기한 무제한

  • Dowon Lee
새소식 목록
관리
작성

MacOS Apple chip용 Ubuntu DinD 이미지 추가

안녕하세요, 이도원입니다.

"Jenkins를 이용한 CI/CD Pipeline 구축" 강의와 "DevOps를 위한 Docker 가상화 기술 (Private Harbor Registry)" 강의에서는 원할한 Docker 컨테이너 실행을 위해 DinD (Docker in Docker) 방식으로 실습 환경을 구축하여 예제를 실행하고 있습니다.

다만, Windows와 MacOS 환경이 각각 다르고, MacOS의 경우 Intel chip, Apple chip에 따라 구성해야 하는 도커 이미지가 달라집니다. 해당 이미지에서는 SSH 서버와 Docker 엔진이 설치 되어 있도록 구성하여, 실습 시, 여러 도커 컨테이너가 필요할 경우에 사용이 용이하도록 구성하였는데, 수강생 분들의 환경에 모두 맞도록 제작하는것에는 무리가 있는 것도 사실입니다. 그래도, 최대한 일반적인 환경에서는 무리없이 실습 할 수 있도록 도커 이미지를 업데이트 하려고 하고 있습니다.

최근에 MacOS Apple chip에서 사용하는 docker-server:m1 이미지를 이용하여 실습 시, 아래와 같은 오류 등으로 실습이 안되는 오류가 확인 되었습니다.

exec /docker-entrypoint.sh: invalid argument

여러 경로로 확인해 보고 수정도 해 보았는데, MacOS Apple chip에서 사용하는 arm64 아키텍처에 Docker 컨테이너에 도커 엔진을 설치하여 사용하는 DinD 방식에서 오류가 발생되는 것 같습니다. (오류 메시지나 로그가 없어 원인을 찾는 것에는 한계가 있네요)

해당 이미지로는 해결하기가 어렵다고 판단되어, 아래와 같이 Ubuntu 베이스에 SSH + Docker 엔진을 설치한 버전을 다시 빌드하여 배포 했습니다.

https://hub.docker.com/repository/docker/edowon0623/docker-server/general

위에서 발생한 문제 등은 모두 해소 되었음을 확인했습니다. Ubuntn 에서는 Docker 서비스를 기동하기 위해 아래 명령어를 먼저 실행해 주시고 실습하시면 되겠습니다.

service start docker

앞으로도 DinD 문제 등과 같이 실습에 관련 된 이슈가 확인되는대로 업데이트 된 실습 환경을 제공하도록 하겠습니다.

다음 주가 연휴네요. 저 개인적으로 多事多難 했던 2024년이었습니다만, 새로운 마음으로 새로운 한해를 시작하도록 하겠습니다. 올해는 더 좋은 강의로 자주 찾아 뵙도록 하겠습니다. 새해 福 받이 받으세요.

감사합니다.

댓글