일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- mariadb
- install
- object
- gradle
- local
- 전송포맷
- javaascript
- JavaScript
- docker
- spring
- key bindings
- duplicate lines
- JAR
- pkgutil
- Java
- driverspy
- ^M바꾸기
- maven
- ubuntu
- change file content
- remove
- svn backup
- jdbc
- install maven
- not to accept jdbcUrl
- ADB
- Change port
- 줄복사
- spring boot
- Jenkins
- Today
- Total
목록Web & Server/Docker & Container (9)
Simplify
Minikube 는 간소화된 형태로 kubernetes(k8s) 를 사용하기에 적합한 프로그램입니다. 이에 대해서는 향후에라도 설치 방법과 사용법에 대해서 조금 더 깊이있게 다루겠지만, 최근 들어서 조금 사용해보다 보니, 설정에 대한 부분은 메모 목적으로라도 남겨놓아야 할 것 같아서 글을 남깁니다. Kinikube 의 경우 아래 명령어를 통해서 간단하게 실행이 가능합니다. minikube start --driver= 위에서 driver name 부분은 다음 목록을 사용하여 설정 가능합니다. docker (driver installation) virtualbox (driver installation) podman (driver installation) (EXPERIMENTAL) vmwarefusion kv..
docker 를 공부하면서.. 이런것은 안될까.. 저런것은 안될까 했던 것들이 거의 다 있습니다. 이걸 검색하신 분들 대부분, Docker 에 대해서 조금은 이해하고 있고, 이제 막 Dockerfile 을 이용해서 이미지를 새로 만들어볼까.. 하는 생각을 가지고 있으리라 생각됩니다. Dockerfile 에서 주로 하는 작업은 다음 정도로 생각됩니다. (사견입니다) FROM 명령어로 base 이미지 정의하기 COPY 명령어로 파일 복사하기 - 내 프로그램 소스, jar, war 등 EXPOSE 명령어로 포트 열기 WORKDIR 명령어로 시작 위치 정의하기 ENTRYPOINT 명령어로 shell 시작하기 이 정도 사용하는 것 같습니다. 만약 base 이미지가 WAS 같은 형태여서.. 내 프로그램을 실행하는 ..
docker 로 개발을 진행하다 보면, 어쩔 수 없이 이미지를 빌드하게 됩니다. 물론 여기서 '어쩔 수 없이'라는 말이 걸리게 되긴 합니다만, 기본 이미지에 본인이 원하는 것을 docker-compose 를 사용하여 구동 시점에 처리해 주는 것도 좋지만, 이미지에 본인이 개발한 프로그램을 넣고, customizing 하는 과정을 거쳐야, 반복적으로 실행하는 과정(예를 들어 scale up 등)에서 불편함을 최소화할 수 있습니다. 저의 경우, 이미지에 특정 설정 파일이 담긴 xml을 customizing 할 필요가 있었고, 매번 설정 파일을 Host에서 주입시켜 주기에는 이미지가 가진 온전한 파일을 덮어쓰기 때문에 깨림칙했던 것이 사실입니다. 이러한 점을 보완하기 위해서 특정 WAS 이미지를 다운로드 받아..
이 부분은 제가 CI/CD 영역을 구축한 경험이 없어, 실제 업무에서는 어떠한 방향으로 들 진행하시는지는 모르겠습니다. 다만, 그때그떄 필요한 방향으로 하는 것이 좋고, java든 maven 이든, 필요한 것이 이미 시스템에 설치되어 있다면 그걸 사용하면 될겁니다. jenkins 의 경우 설정 쪽을 뒤져보면 Global 로 java 나 git, svn 등의 프로그램이 설치된 경로를 설정하도록 되어 있습니다. 이는 이미 시스템에 그런 부분이 있다면 그대로 사용하라고 베려한 것이구요, 저 같은 경우 jenkins 를 docker로 설치하였고 따라서 별도의 maven은 docker container내에 설치되어 있지 않습니다. 이 경우, 기존에 가지고 있는 maven프로젝트를 빌드하려고 하면 아래와 같은 오류..
앞서 2019/06/13 - [Web & Server/Docker & Container] - Docker-compose 를 이용해 편하게 docker 쓰기 에서 설명햇던 것 처럼, docker-compose 를 이용하면 긴 명령어를 대신하여 조금 더 편하게 환경을 구성할 수 있습니다. 그리고 2019/06/17 - [Web & Server/Spring & Spring Boot] - Spring Boot WAR 로 배포하기 (How to deploy with *.war file with Spring Boot) 에서 설명한 것 처럼, Spring Boot 를 war 파일로 변경하여 tomcat 상에서 구동하는 것도 가능합니다. 그런데, 이렇게 구동하면 Spring Boot 가 가진 내장 tomcat 을 활용..
docker 로 각종 서비스를 올리는 데 활용하고 있고, 현재까지는 mariadb, tomcat, jenkins 세 가지 서비스를 올려둔 상태입니다. docker 의 경우 repository 설정을 통해서 docker container 내부의 특정 폴더를 외부(Host)의 특정 폴더로 mount 하여 사용할 수 있습니다. 이를 활용해서 mariadb 의 각종 데이터 디렉토리(mysql 폴더 등)와 tomcat 의 webapp, log 폴더 등을 Host에 mount 하여 사용하고 있습니다. 이와 마찬가지로 jenkins의 폴더 jenkins_home 도 그렇게 마운트하려고 했더니 자꾸 permission error 가 나오면서 동작이 되지 않습니다. 예를 들어, tomcat 같은 경우, 내부의 root ..
docker 명령어들은 복잡한 이미지를 얼마나 customizing 해서 환경변수등을 추가해서 사용하느냐에 따라 엄청나게 길어질 수 있습니다. 예를 들어 jenkins 같은 경우 기본적으로 아래 정도의 명령어를 이용해서 구동하게 됩니다. $ sudo docker run -d -v jenkins_home:/var/jenkins_home -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts 아마도 이런 과정이 귀찮으니, 위 명령어를 shell 로 만들어서 두고 사용하게 될 것 같습니다만, docker 특성상 사용하게 되는 명령어들이 많아, sudo 를 매번 적는 게 여간 귀찮은 것이 아닙니다. 이러한 분편함을 해소해 주는 것이 docker-compose 입니다. docker-..
Docker 를 사용하다보면 Docker base 서비스 자체가 root 권한으로 실행되기 때문인지.. 항상 명령어 넣을 떄 마다 sudo를 쳐 줘야 하는 귀찮음이 있습니다. 이 경우, 아래 명령어를 통해서 사용자 계정을 docker 그룹에 추가해 주면 sudo 없이도 docker 명령어를 사용할 수 있습니다. $ sudo usermod -aG docker $USER * $USER 자리에는 내 계정 id 를 직접 넣어도 됩니다.