소개
저는 IT 엔지니어입니다. 언젠가 직업란에 "회사원?", "개발자?", "강사?" 어떤 단어를 선택해야 할 지 고민이 되었던 때가 있었습니다. 그러다가, IT 엔지니어라는 표현이 제가 잘 어울리는 직업명이라는 생각이 들어 지금까지도 직업란에는 "IT 엔지니어"라고 적고 있습니다.
직업이라는 것은 자신의 일을 나타내는 것이고, 일이라는 것은 재미있고, 도움이 되는 일이면 좋겠다는 생각을 가지고 있습니다. 누구나 다 원하는대로 일을 하며 살수는 없지만, 저는 제가 하는 있는 이 일을 좋아하는 있고, 잘하고 싶어하는 사람입니다. 개발자로써, 강사로써, 컨설턴트로써의 역할을 해 오면서, 매번 새롭게 출시되고 변화하는 IT 신기술을 따라가기에 급급하지만, 그래도, 남들보다 조금이라도 먼저 접하고, 전파하고, 사용하고 싶은 사람 중 한명입니다.
최근 관심을 가지고 있는 분야는 온라인 교육 컨설팅입니다. 그리고 관심있는 기술은 Cloud Native Architecture, Blockchain, Machine Learning, Kafka, Kuberbetes 등입니다. 이러한 기술은 실제로 강의도 하고 있고 업무에 적용해서 사용도 하고 있습니다. 하지만, 워낙 방대한 주제이다 보니, 아직까지도 계속 공부하고 있습니다.
머리속에 가지고 있는 것은 진정한 지식이 아니라고 합니다. 저는 제가 가진 지식과 경험을 다양한 방벙을 통해 공유하려 합니다. 그리고, 새로운 분야, 새로운 기술에 계속 도전하고 있는 IT 엔지니어가 될 것입니다.
- 現) 엔제이원컴퍼니 대표
- 現) 동국대학교 국제정보대학원 정보보호학과 대우교수
- 前) JP Mogan Chase AMJ Tech consultant (일본)
- 前) 삼성 SDS CMS 사업본부 책임 엔지니어
강의
로드맵
전체 1수강평
- Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
- Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
- [개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
- Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
게시글
질문&답변
docker run -p 8080:8080 --name mytomcat docker-server
안녕하세요, 이도원입니다. 문의하신 내용에 대해 확인한 내용 다시 한번 정리해 보려고 합니다. 아래에서 설명하고 있는 모든 서비스들은 모두 Docker container로 실행되었습니다. Jenkins에서 docker-server로 실행 된 서버를 등록 (SSH 접속을 위해)docker-server에 미리 저장되어 있는 Dockerfile을 수정 Jenkins에서 Item 생성 후 "빌드 후 조치(Post actions)"로 아래 항목 추가 docker-server로 hello-world.war 파일 전송 docker builddocker conatiner run docker-server에 SSH로 접속해서 docker image 생성 및 컨테이너 실행이 정상적으로 되었는지 확인MacOS의 웹 브라우저에서 확인 위 내용에 대한 이미지를 아래와 같이 첨부해 드립니다. 1.Jenkins에서 docker-server로 실행 된 서버를 등록 (SSH 접속을 위해)docker-server는 배포되는 tomcat 테스트를 위해 8081 port를 미리 오픈(publish) 함(사진) 2.docker-server(container id: 2a38d7f65548)에 미리 저장되어 있는 Dockerfile을 수정tomcat 이미지를 latest 말고 9.x 버전으로 테스트 해 보시기 바랍니다. (사진) 3.Jenkins에서 Item 생성 후 "빌드 후 조치(Post actions)"로 아래 항목 추가 docker-server로 hello-world.war 파일 전송 docker build, docker conatiner run (-> Exec commands 에 2개의 실행 문장 작성)이미지 명 -> hello-world:v2(사진)빌드 결과 화면(사진) 4.docker-server에 SSH로 접속해서 docker image 생성 및 컨테이너 실행이 정상적으로 되었는지 확인(사진) 5.MacOS의 웹 브라우저에서 확인(사진)제가 실행했던 환경은 MacOS m1에서 위 과정을 실행 시, docker-server에 생성 된 docker image는 arm64로 빌드되었습니다. 그러나, 그 이후로 실행할 때도 모두 같은 m1 환경이라, arm 이미지 생성에 따른 문제는 없습니다. 추가로 확인해 보시면 좋다고 생각되는 부분은 docker-server 에 포함된 Dockerfile에서 base image를 tomcat:latest로 하지 마시고, 9.x 버전으로 변경해서 해 보시기 바랍니다. (저도 tomcat;9.0.98-jdk17 로 테스트 했습니다)계속 같은 오류 발생 시, 작업하신 스크립트도 다시한번 공유해 주시면, 저도 동일한 환경으로 다시한번 확인해 보도록 하겠습니다. 감사합니다.
- 0
- 5
- 182
질문&답변
tomcat 서버에 배포하기
안녕하세요, 이도원입니다. 작업하신 내용을 보면, Tomcat 서버에 배포까지는 잘 되신 것 같습니다. Tomcat 서버를 어떤 방식으로 기동하셨는지 모르겠지만, 제가 오늘 다시 확인해 본 과정을 공유 드리니 참고 부탁드립니다.Docker container로 Tomcat 9.0 실행 (만약 Local 환경에 직접 실행 중이라면, 2번으로 넘어가시면 됩니다)docker run -it -d -p 8088:8080 tomcat:9.0.98-jdk17Tomcat 서버의 환경 설정 폴더(./conf)에서 Deployer user 추가 (-> 이 부분은 부록에서 설명 드리고 있습니다)Jenkins 에서 Tomcat 서버로 배포하기 위한 스크립트(Item) 실행 Tomcat 서버의 manager 화면에서 배포 된 애플리케이션(hello-world) 확인 (이부분은 위 첨부해 주신 이미지의 내용과 같습니다)http://[Tomcat 서버 IP]:[Tomcat 서버 Port]/hello-workd로 접속하여 결과 확인 (ex, htpp://localhost:8088/hello-world)Docker 로그 확인 (docker logs -f [Container ID 또는 Container Name] (-> 아래는 제가 실행한 로그 화면 결과 입니다) 2024-12-17 01:56:42 [http-nio-8080-exec-5] DEBUG com.njonecompany.web.WebInitializer - No ContextLoaderListener registered, as createRootApplicationContext() did not return an application context17-Dec-2024 01:56:42.773 INFO [http-nio-8080-exec-5] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [/usr/local/tomcat/webapps/hello-world.war] has finished in [689] ms2024-12-17 01:57:24 [http-nio-8080-exec-9] DEBUG c.n.web.controller.WelcomeController - Welcome to njonecompany.com...Tue Dec 17 01:57:24 UTC 20242024-12-17 01:57:40 [http-nio-8080-exec-7] DEBUG c.n.web.controller.WelcomeController - Welcome to njonecompany.com...Tue Dec 17 01:57:40 UTC 20242024-12-17 01:59:11 [http-nio-8080-exec-3] DEBUG c.n.web.controller.WelcomeController - Welcome to njonecompany.com...Tue Dec 17 01:59:11 UTC 2024위 로그 결과를 보시면, hello-wolrd.war 파일이 배포되었다는 부분과, 웹 브라우저에서 호출할 때마다, Welcome to ~ 로그가 출력되는 걸 확인해 보실 수 있습니다. 현재 404 오류가 발생한다는 부분에서 로그에 어떻게 출력되는지 확인해 보시면 좋을 것 같습니다. 저희가 공유해 드렸던 코드에서는 /hello-world를 호출 시 index.jsp와 같은 메인 페이지로 이동되게 되어 있는데, 배포의 문제인지 패키징 된 WAR 파일의 문제인지 로그와 함께 확인해 봐야 할 것 같습니다. 계속 같은 문제가 발생하신다면, 작업하신 환경, 실행 스크립트다 컨테이너 등의 정보와 로그 등도 같이 공유해 주시면, 다시 한번 확인해 보도록 하겠습니다. 게시물에 글 작성하기 어려우시면 아래 메일로 보내주셔도 됩니다. edowon0623@gmail.com감사합니다.
- 0
- 3
- 78
질문&답변
강의자료
안녕하세요, 이도원입니다. 강의자료는 PDF 형식으로 등록해 놓았습니다. https://www.inflearn.com/courses/lecture?courseId=329275&unitId=258319위 강의 링크에서 다운로드 받으실 수 있습니다. 감사합니다.
- 0
- 2
- 31
질문&답변
'jenkins 설치 및 설정'에서 사용하는 터미널의 위치
안녕하세요, 이도원입니다. 말씀하신 터미널의 위치는, Windows에서 실행하신 CMD에서 어떤위치인지 상관없이 실행하실 수 있습니다. 정상적으로 docker desktop이 설치 되었다면, docker run 하는 명령어는 터미널에서 실행하는 명령어의 위치하고는 상관없이 정상 작동되어야 합니다. 최신 버전의 Jenkins 이미지는 아래와 같습니다.docker pull jenkins/jenkins터미널에서 올려주신 것과 같은 오류가 발생하는 것은 에러메시지를 봤을때는 인증에 관련된 오류인 것 같은데, 터미널에서 docker login 후 다시 실행해 보시기 바랍니다.docker logindocker pull jenkins/jenkins감사합니다.
- 0
- 2
- 44
질문&답변
docker run -p 8080:8080 --name mytomcat docker-server
안녕하세요, 이도원입니다. 올려주신 명령어의 docker-server 이미지는 직접 생성하신 건가요? 아니면, 제가 공유해 드리고 있는 hub.docker.com 사이트에서 다운받으신 이미지 인가요? 만약 제가 공유해 드리고 있는 이미지라면, 아래와 같은 명령어로 실행하는 것 대신, docker run -p 8080:8080 --name mytomcat docker-server다음 명령어 실행하셔야 정상적으로 컨테이너가 실행됩니다. docker run --privileged --name manager -itd -p 10022:22 -p 8081:8080 -e container=docker -v /sys/fs/cgroup:/sys/fs/cgroup:rw --cgroupns=host edowon0623/docker-server:m1 /usr/sbin/init위 명령어로 컨테이너를 기동하신 후에는 MacOS 터미널에서 ssh root@127.0.0.1 -p 10022 로 실행 시(암호: P@ssw0rd) 정상적으로 SSH 접속이 되어야 합니다. 혹시 질문하신 내용과 다른 답변이었다면, 어떤 이미지로 실행하셨는지 공유해 주시면 다시 확인해 보도록 하겠습니다. 감사합니다.
- 0
- 5
- 182
질문&답변
Slf4j log cannot find symbol 오류 해결방법
안녕하세요, 이도원입니다. 정보 공유 감사드립니다. 좋은 하루 되세요.
- 0
- 2
- 95
질문&답변
도커 데스크탑 설치
안녕하세요, 이도원입니다. 강의에 필요한 SW 설치는 Section9에서 설명드리고 있습니다. 말씀하신 Docker desktop에 대해서도 간략하게나마 설명드리고는 있는데, 설치하시면서 부족하시거나 추가 보충 설명이 필요하시면 다시 글 남겨주세요. SW 설치 관련 강의자료도 아래 강의 페이지에서 자료 다운로드 받으실 수 있도록 업데이트 했습니다. 같이 참고해 주세요.https://www.inflearn.com/course/lecture?courseSlug=%EC%A0%A0%ED%82%A8%EC%8A%A4-ci-cd-%ED%8C%8C%EC%9D%B4%ED%94%84%EB%9D%BC%EC%9D%B8&unitId=124588&subtitleLanguage=ko감사합니다.
- 0
- 2
- 42
질문&답변
war, jar
안녕하세요, 이도원입니다. 말씀하신 내용처럼 최근에는 별도의 WAS에 애플리케이션을 배포하는 방식인 war 파일 형식보다는 jar 파일 형식으로 컨테이너 가상화에서 실행하는 경우가 많습니다. 다만, 강의에서는 jar파일과 war파일에 대한 내용이나 작업 방식보다는 웹 애플리케이션 형식을 어떻게 배포하는지에 대해 실행하기 위해서 최대한 간략한 형태의 소스코드로 작성된 예제를 작성하였습니다. 강의에서 사용된 war 파일 형식은 독적으로 실행가능하도록 되어 있기도 합니다. 강의 업데이트 시 최신화하여 반영하도록 하겠습니다. 감사합니다.
- 0
- 2
- 29
질문&답변
톰캣을 도커 컨테이너로 실행하시는 분들
안녕하세요, 이도원입니다. 정보 공유 감사드립니다. 좋은 하루 되세요.
- 0
- 2
- 94
질문&답변
Ansible 영상 중 docker image push 를 하려는 이유?
안녕하세요, 이도원입니다. 답변이 늦어 죄송합니다. 강의에서 설명하고 있는 Yaml 파일에 대한 실행은 Ansible에서 여러가지 스크립트를 실행하는 과정에 일부로 소개하고 있습니다. 실무 프로젝트에서 Docker hub 사이트에 프로젝트 소스가 포함되는 것과 같은 내용은 없어야 겠지요. 만약 Docker Repository로 Docker hub 사이트를 이용하실 거라고 하면 당연히 Private repository를 사용하셔야 할 것 같습니다. 추가로 Dokcer hub 대신 Private registry(Harbor)를 구성하여 사용하는 내용을 아래 강의에서 설명드리고 있습니다. DevOps를 위한 Docker 가상화 기술 (Private Harbor Registry) 강의 | Dowon Lee - 인프런혹시 위에 답변 드린 내용이 질문하신 내용과 다르다면 다시 글 남겨 주시기 바랍니다. 감사합니다.
- 0
- 1
- 65