개발이 좋아서/Docker가 좋아서

    AWS EC2에서 Docker를 활용해 배포해보기

    AWS EC2에서 Docker를 활용해 배포해보기

    $ sudo apt-get update && \ sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common && \ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && \ sudo apt-key fingerprint 0EBFCD88 && \ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" && \ sudo apt-get update && \ sudo apt-get ..

    Docker Compose를 활용해 2개 이상의 컨테이너 관리하기

    Spring Boot와 MySQL 동시에 띄워보기@RestControllerpublic class AppController { @GetMapping("/") public String home() { return "Hello, World!"; }}- 간단한 코드 작성 spring: datasource: url: jdbc:mysql://localhost:3306/mydb username: root password: pwd1234 driver-class-name: com.mysql.cj.jdbc.Driver- application.yml 에 DB 연결을 위한 정보 작성하기 FROM openjdk:17-jdkCOPY build/libs/*SNAPSHOT.jar /app.jarE..

    Docker Compose를 활용해 컨테이너 관리하기

    - Docker Compose - 여러 개의 Docker 컨테이너들을 하나의 서비스로 정의하고 구성해 하나의 묶음으로 관리할 수 있게 도와주는 툴이다. - compose.yml 파일을 만들어 작성한다.services: websever: container_name: webserver image: nginx ports: - 80:80$ docker compose up # 포그라운드에서 실행$ docker compose up -d # 백그라운드에서 실행# compose.yml에 정의된 컨테이너 중 실행 중인 컨테이너만 보여준다. $ docker compose ps # compose.yml에 정의된 모든 컨테이너를 보여준다.$ docker compose ps -a- 컨테이너를 확인할 수 있다. ..

    Dockerfile 활용해 이미지 직접 만들기

    Dockerfile 활용해 이미지 직접 만들기

    Dockerfile - Docker 이미지를 만들게 해주는 파일이다. FROM - 베이스 이미지를 생성하는 역할을 한다.- Docker 컨테이너를 특정 초기 이미지를 기반으로 추가적인 셋팅을 할 수 있다. 여기서 얘기한 '특정 초기 이미지'가 곧 베이스 이미지이다.# 문법FROM [이미지명]FROM [이미지명]:[태그명] JDK 17 베이스 이미지로 컨테이너 띄워보기# JDK 17FROM openjdk:17-jdk- 반드시 Dockerfile 로 만들어야 한다. $ docker build -t my-jdk17-server .- Dockerfile로 이미지 생성하는 문법- Dockerfile을 만든 경로에서 명령어 입력한다. 그래서 뒤에 . 을 찍어 상대경로로 맞추어준다. $ docker run -d my..

    Docker Volume(도커 볼륨)을 활용해 데이터 유실 방지하기

    컨테이너가 가진 문제점- 프로그램에 기능이 추가되면 새로운 이미지를 만들어서 컨테이너를 실행시켜야 한다. 이 때, Docker는 기존 컨테이너에서 변경된 부분을 수정하지 않고, 새로운 컨테이너를 만들어서 통째로 갈아끼우는 방식으로 교체를 한다. 이런 특징 때문에 기존 컨테이너를 새로운 컨테이너로 교체하면, 기존 컨테이너 내부에 있던 데이터도 같이 삭제된다. Docker Volume(도커 볼륨) - 도커 컨테이너에서 데이터를 영속적으로 저장하기 위한 방법이다.- 볼륨은 컨테이너 자체의 저장 공간을 사용하지 않고, 호스트 자체의 저장 공간을 공유해서 사용하는 형태이다. 볼륨을 활용해 MySQL 컨테이너 띄우기1. MySQL 컨테이너 띄우기$ cd /Users/zoaseo/Documents/Develop$ m..

    Docker CLI 익히기

    이미지 관련 CLIdocker pull nginx //이미지 다운받기docker pull nginx:stable-alpine3.19-perl //뒤에 태그명을 넣으면 해당 버전을 다운받을 수 있다.docker image ls //다운받은 이미지 조회docker image rm xxxxx //이미지 삭제//뒤에 이미지 ID를 적으면 된다. ID가 길어서 일부만 적어도 해당 ID의 이미지를 삭제해준다. ID대신 명을 입력해도 된다.docker image rm -f xxx //중단된 컨테이너의 이미지를 삭제한다.docker image rm $(docker images -q) //컨테이너에서 사용하고 있지 않은 전체 이미지를 삭제한다.docker image rm -f $(docker images -q) //중단..

    Docker란?

    Docker를 왜 쓰는 것일까?- 이식성: 특정 프로그램을 다른 곳으로 쉽게 옮겨서 설치 및 실행할 수 있는 특성 Docker의 장점매번 귀찮은 설치 과정을 일일이 거치지 않아도 된다.항상 일관되게 프로그램을 설치할 수 있다. (버전, 환경 설정, 옵션, 운영 체제 등)각 프로그램이 독립적인 환경에서 실행되기 때문에 프로그램 간에 서로 충돌이 일어나지 않는다.Docker - 컨테이너를 사용하여 각각의 프로그램을 분리된 환경에서 실행 및 관리할 수 있는 툴이다. 컨테이너(Container) - 하나의 컴퓨터 환경 내에서 여러개의 미니 컴퓨터 환경을 구성할 수 있는 형태이다. 여기서 얘기하는 미니컴퓨터를 보고 Docker에서는 컨테이너(Container)라고 부른다. 컨테이너(Container)의 독립성디스..