전체 글 57

[Docker] 도커 이미지 삭제 시 에러!

도커 이미지 삭제 명령어 $ docker rmi 이미지 삭제 시 뜬 에러 Error response from daemon: conflict: unable to delete 161359817af5 (must be forced) - image is referenced in multiple repositories 데몬의 오류 응답: 충돌: 161359817af5를 삭제할 수 없음(강제로 설정해야 함) - 이미지가 여러 리포지토리에서 참조됨 -f (force) 명령어로 강제삭제 $ docker rmi -f 📌 주의! 동일한 이미지 ID를 가진 모든 이미지파일도 같이 삭제됨 . 동일한 ID를 가지고 있는 이미지 파일 중 선택 삭제 법 $ docker rmi : $ docke..

Docker 2023.10.18

[Docker] Mysql 도커 컨테이너로 올리기!

mysql 이미지 받아오기 $ docker pull mysql:latest mysql 컨테이너 실행 $ docker run --name mysql-container -e MYSQL_ROOT_PASSWORD= -d -p 3306:3306 mysql:latest ● --name : 이름의 컨테이너를 실행한다. ● -e : 컨테이너 내에서 사용할 환경변수를 설정 ● -e MYSQL_ROOT_PASSWORD= : MySQL의 root 권한의 비밀번호를 로 설정한다. ● -d : detach 모드로 컨테이너가 실행된다. 컨테이너가 백그라운드로 실행된다고 보면 된다. ● -p : 호스트와 컨테이너의 포트를 연결한다 ● mysql:latest : 컨테이너에 사용할 이미지 내부접속 docker exec -it mysq..

Docker 2023.10.18

[Docker] Docker + Jenkins를 사용하여 스프링부트(maven) 프로젝트 자동 배포 하기!

젠킨스 이미지 다운로드 docker pull jenkins/jenkins:lts lts : 최신 버전 젠킨스 컨테이너 실행 docker run -d -p 9080:8080 -v /var/run/docker.sock:/var/run/docker.sock -v ~/Documents/jenkinsDir:/var/jenkins_home --name jenkins jenkins/jenkins:lts 옵션 정리 -d 백그라운드 실행 -p 매핑할 포트 ( : 기준으로 왼쪽은 호스트 포트 , 오른쪽은 도커 이미지 포트 ) -v : 기준으로 왼쪽은 호스트 경로 오른쪽은 컨테이너 내부 경로를 마운트함.컨테이너가 종료되어 삭제되어도 jenkins_home에 남아 있는 설정은 로컬에 남게 됨. 단, 잘못된 설정으로 오류가 발..

Docker 2023.10.18

[Docker] 도커 컨테이너에 jar 실행하기

1. jar 파일 생성 2. Dockerfile 작성 # 기반이 될 Docker 이미지 선택 FROM openjdk:8-jdk-alpine # 작업 디렉토리 생성 WORKDIR /app # JAR 파일을 Docker 이미지로 복사 COPY .jar . # 컨테이너 실행 시 실행될 명령 정의 CMD ["java", "-jar", ".jar"] 3. docker build 로 이미지 생성 docker build -t myproject:latest . 위의 명령은 현재 디렉토리의 Dockerfile을 사용하여 myproject:latest라는 이름의 Docker 이미지를 빌드합니다. -t 옵션은 이미지의 태그를 지정하는데, latest는 이미지의 버전을 의미합니다. 4. docker hub 에 이미지 푸쉬 이..

Docker 2023.09.20

[JAVA] Indexof() , LastIndexof() 문자열에서 특정 문자나 문자열 위치( 인덱스 ) 찾기

indexOf 메서드 indexOf 메서드는 문자열에서 특정 문자나 문자열의 위치(인덱스)를 찾을 때 사용됩니다. 메서드는 다음과 같이 사용됩니다: int indexOf(String str) str: 찾고자 하는 문자열 또는 문자. 메서드는 문자열에서 str이 처음으로 나타나는 위치(인덱스)를 반환합니다. 만약 찾고자 하는 문자열이 없을 경우 -1을 반환합니다. 예제 1: 문자열에서 문자의 인덱스 찾기 String text = "Hello, world!"; int index = text.indexOf('o'); System.out.println("Index of 'o': " + index); // 'o'가 처음으로 나타나는 위치 예제 2: 문자열에서 문자열의 인덱스 찾기 String text = "Hel..

자바 2023.09.19

[JAVA] 문자열에서 특정 부분 문자열 추출하기 substring

substring 메서드 substring 메서드는 문자열에서 특정 부분 문자열을 추출할 때 사용됩니다. 메서드는 다음과 같이 사용됩니다: String substring(int beginIndex) String substring(int beginIndex, int endIndex) beginIndex: 추출을 시작할 문자의 인덱스. endIndex: 추출을 종료할 문자의 인덱스 (단, 이 인덱스는 포함되지 않음). 예제 1: 부분 문자열 추출 (하나의 매개변수 사용) String text = "Hello, world!"; String substring = text.substring(7); // 인덱스 7부터 끝까지 추출 System.out.println("Substring: " + substring); ..

자바 2023.09.19

[Mysql] 테이블 수정(ALTER) 간단 정리

ALTER 문은 데이터베이스 테이블 구조를 변경하는 데 사용되는 SQL 문입니다. 테이블의 구조 변경에는 다양한 작업이 포함될 수 있으며, 주요 ALTER 문의 사용 사례와 구문을 예시와 함께 설명하겠습니다. 1. 테이블에 새 열 추가하기: ALTER TABLE 테이블명 ADD 열명 데이터_유형; 예제 ALTER TABLE employees ADD phone_number VARCHAR(15); 이 예제는 employees 테이블에 phone_number라는 열을 추가합니다. 2. 기존 열 수정하기: ALTER TABLE 테이블명 MODIFY 열명 새_데이터_유형; 예제: ALTER TABLE customers MODIFY email VARCHAR(50); 이 예제는 customers 테이블의 email ..

DB/MySQL 2023.09.15

[Mysql] 범주 조회 (DISTINCT)

DISTINCT는 MySQL에서 사용되는 키워드로, 중복된 결과를 제거하여 고유한(unique) 결과만을 반환하도록 쿼리를 필터링합니다. 이것은 특히 중복된 데이터를 가진 열에서 고유한 값을 찾을 때 유용합니다. 구문 SELECT DISTINCT 열1, 열2, ... FROM 테이블명; 여기서 열1, 열2, ...는 선택하려는 열의 목록입니다. 테이블명은 데이터를 가져올 테이블의 이름입니다. 예제 다음은 orders 테이블에서 고유한 고객(customer) 목록을 가져오는 쿼리의 예제입니다. SELECT DISTINCT customer FROM orders; 이 쿼리는 orders 테이블에서 customer 열의 중복을 제거하고, 중복되지 않는 고유한 고객 목록을 반환합니다. 예제 데이터: | order..

DB/MySQL 2023.09.15

[Mysql] 컬럼 값 하나로 문자열로 합치기( GROUP_CONCAT)

▶설명 간혹 컬럼에 저장된 내용을 하나의 문자열로 가져와야하는 경우가 있습니다. 이 때 사용하는 함수가 GROUP_CONCAT 함수입니다. GROUP_CONCAT 함수는 지정된 컬럼에서 NULL이 아닌 값을 콤마(,)로 합쳐 하나의 문자열로 가져오는 함수입니다. ▶사용법 SELECT GROUP_CONCAT(묶을 컬럼 [, 데이터1, 데이터2 ...]) FROM 테이블명 [WHERE 조건]; 데이터1, 데이터2 등이 있으면, 컬럼 값에 추가로 데이터를 붙인 다음에 묶습니다. ▶예제 쿼리 (Example Query) 예제 테이블 : hero_collection idx type name 1 1 안중근 2 1 윤봉길 3 2 김유신 4 2 이순신 5 3 이성계 6 3 왕건 7 4 반갑수 8 4 (NULL) 쿼리 ..

DB/MySQL 2023.09.15

[Mysql] 그룹화하여 데이터 조회 (GROUP BY) + HAVING

MySQL에서 GROUP BY 구문은 특정 열(또는 열의 조합)을 기준으로 데이터를 그룹화하고 그룹 내에서 집계 함수를 사용하여 요약 정보를 생성하는 데 사용됩니다. GROUP BY는 일반적으로 집계 작업과 함께 사용되며 데이터를 카테고리별로 나누고 요약 정보를 계산하는 데 유용합니다. GROUP BY 구문의 기본 구조는 다음과 같습니다: SELECT column1, column2, ..., aggregate_function(column) FROM table WHERE conditions GROUP BY column1, column2, ...; 여기서 각 요소의 역할은 다음과 같습니다: column1, column2, ...: 그룹화할 열을 나타냅니다. 이 열은 SELECT 목록에 나타날 수도 있고, 아..

DB/MySQL 2023.09.15