클라우드/Docker(8)
-
Dockerfile의 ADD와 COPY의 차이
ADD Auto-extraction 복사하려는 대상 파일이 입축 파일(tar, tar.gz)일 경우, 해당 파일의 압축을 해제하여 복사한다. Remote-URL wget 등을 통하여 원격지의 파일을 복사 대상으로 지정할 수 있다. COPY host 환경의 파일 또는 디렉토리를 대상 컨테이너 이미지 안으로 복사한다. ADD와 COPY는 특정 위치에서 Docker 이미지로 파일을 복사하는 기능을 수행하는 Dockerfile 명령어이다. COPY는 로컬 파일 또는 디렉토리를 컨테이너에 복사하는 기능만 지원한다. ADD도 해당 기능을 지원하지만, 2개의 또다른 기능도 지원한다. 먼저, 로컬 파일 또는 디렉토리 대신 URL을 사용할 수 있다. 두번째로는 ADD rootfs.tar.xz /처럼 소스에서 대상으로 직..
2020.10.17 -
Docker Compose
Docker Compose 각 컴포넌트의 Configuration과 dependency등을 yml이라는 하나의 파일에 정의하고 이 파일에 작성된대로 도커에 올려주는(deploy해 주는) 툴 컨테이너 실행에 필요한 옵션을 docker-compose.yml이라는 파일로 관리 컨테이너 간 실행순서나 의존성도 관리 가능. 프로젝트 루트에 docker-compose.yml파일을 생성 version: "3" services: mongodb: image: mongo environment: - MONGO_DATA_DIR=/data/db - MONGO_LOG_DIR=/dev/null volumes: - ./data/db:/data/db command: mongod --logpath=/dev/null ports: - 27..
2020.10.17 -
Dockerizing Spring Boot Application
앞서 만든 Docker파일을 빌드해서 이미지를 만든다. $ docker build -t to-do-springboot . Sending build context to Docker daemon 212MB Step 1/7 : FROM adoptopenjdk/openjdk11:alpine alpine: Pulling from adoptopenjdk/openjdk11 df20fa9351a1: Pull complete 229610c13af7: Pull complete 53a69ff98873: Pull complete Digest: sha256:ffa9f929a59f305f72bf2ccf54885caa0044eb9c7c5b61d38a96a5815c20e21f Status: Downloaded newer image ..
2020.10.04 -
Dockerfile
스프링부트로 TodoList 만든 자바 앱을 도커에 띄우기 위해 Dockerfile을 만들었다. # Start with a base image containing Java runtime FROM adoptopenjdk/openjdk11:alpine # Add Author info LABEL maintainer="narae456@gmail.com" # Add a volume to /tmp VOLUME /tmp # Make port 8080 available to the world outside this container EXPOSE 8080 # The application's jar file ARG JAR_FILE=build/libs/todo-0.0.1-SNAPSHOT.jar # Add the applic..
2020.10.04 -
hello world
hello-world 컨테이너 실행하기 run은 이미지가 없으면 자동으로 이미지를 다운로드한다. $ docker run hello-world Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 0e03bdcc26d7: Pull complete Digest: sha256:4cf9c47f86df71d48364001ede3a4fcd85ae80ce02ebad74156906caff5378bc Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appea..
2020.10.04 -
Docker Image
다운로드한 이미지 목록 확인하기 (images) docker images [OPTIONS] [REPOSITORY[:TAG]] 이미지 다운로드 (pull) docker pull [OPTIONS] NAME[:TAG|@DIGEST] run 이미지가 없을 때 자동으로 다운로드 pull 최신 버전으로 다시 다운로드 (같은 태그지만 이미지가 업데이트 된 경우) 이미지 삭제 (rmi) docker rmi [OPTIONS] IMAGE [IMAGE...] 컨테이너는 이미지들을 레이어 기반으로 실행중이기 때문에, 컨테이너가 실행중인 이미지는 삭제되지 않음 이미지 만들기 (build) docker build [OPTIONS] PATH | URL | - Dockerfile이 위치한 디렉터리에서 실행해야함 -t로 이름과 태그 ..
2020.10.01 -
Docker Container
실행중인 컨테이너 목록 출력 (ps) $ docker ps [OPTIONS] 어떤 이미지를 기반으로 만들었는지, 어떤 포트와 연결되어있는지 등 간단한 내용 출력됨 -all, -a 종료된 컨테이너도 모두 출력 (컨테이너를 종료해도 삭제되지 않고 남아있음) 컨테이너 실행 (run) docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...] 옵션 설명 -d detached mode (background mode) -p 호스트와 컨테이너의 포워드를 연결 (forwarding) -v 호스트와 컨테이너의 디렉터리를 연결 (mount) -e 컨테이너 내에서 사용할 환경변수 설정 -name 컨테이너 이름 설정 -rm 프로세스 종료시 컨테이너 자동 제거 -it 터미널 입력..
2020.10.01 -
Docker
Docker 컨테이너 기반의 오픈소스 가상화 플랫폼 다양한 프로그램, 실행 환경을 컨테이너로 추상화하고 동일한 인터페이스를 제공하여 프로그램의 배포 빛 관리를 단순화 백엔드 프로그램, 데이터베이스 서버, 메시지 큐 등 어떠한 프로그램도 컨테이너로 추상화할 수 있고 조립 PC, AWS, Azure, Google colud 등 어디에서든 실행할 수 있음 Container 가상화 기술 중 하나로, 격리된 공간에서 프로세스가 동작하는 기술 Virtual Machine (가상머신) HostOS 위에 GuestOs 전체를 가상화하여 사용하는 방식 여러가지 OS를 가상화 할 수 있음 사용법이 간단함 무겁고 느려서 운영 환경에서 사용할 수 없음 환경 테스트에 초점 VMware, VirtualBox 등 Docker 프로..
2020.09.30