반응형 Devops/Docker14 [Docker] Docker Compose 이전 포스팅에서는 Dockerfile로 이미지를 빌드해서 사용하는 방법에 대해 포스팅했습니다. 이번 포스팅에서는 Docker Compose를 사용하는 방법에 대해 포스팅하려 합니다. Docker Compose는 하나의 애플리케이션을 여러 개의 Docker로 구성하는 방법입니다. Micro Service Architecture 처럼 컨테이너 간의 연결을 구성하고 실행하는 방법입니다. Docker Compose를 구성하는 방법으로는 명령어와 yaml파일의 사용이 있습니다. 다음은 Docker Compose의 기본적인 예시입니다. version: "3.9" # optional since v1.27.0 services: web: build: . ports: - "5000:5000" volumes: - .:/co.. 2021. 6. 11. [Docker] Dockerfile (2) 앞서 포스팅에서는 Dockerfile의 기본적인 명령어와 사용법에 대해 포스팅했습니다. 이번 포스팅에서는 좀 더 Dockerfile 명령어에 대해 포스팅하려 합니다. EXPOSE [포트 번호] - 호슽와 연결할 포트 번호를 설정합니다. (docker run의 --expose 옵션과 동일) ENV [환경 변수] [값] - 환경 변수를 설정합니다. 이 환경 변수는 RUN, CMD, ENTRYPOINT에 적용됩니다. ADD [복사할 파일 경로] [이미지에 파일이 위치할 경로] - 파일을 이미지에 추가합니다. COPY [복사할 파일 경로] [이미지에 파일이 위치할 경로] - 파일을 이미지에 추가합니다. WORKDIR [경로] - RUN, CMD, ENTRYPOINT 명령이 실행될 디렉토리를 설정합니다. COPY.. 2021. 6. 11. [Docker] Dockerfile (1) Dockerfile 앞서 포스팅한 내용으로는 commit명령어로 이미지를 만들 수 있었습니다. 이번 포스팅에서는 dockerfile로 이미지를 만들어 보겠습니다. Dockerfile은 docker 이미지 생성을 위한 이미지 설정 파일입니다. Dockerfile에 사용할 수 있는 명령어들을 사용해서 docker image를 생성합니다. 다음 명령어로 dockerfile 생성을 시작해 봅니다. $ vi Dockerfile Dockerfile을 작성할 때 다음 명령어들을 설정해주면 됩니다. FROM [이미지] / FROM [이미지] : [태그] - 어떤 이미지를 기반으로 이미지를 생성할지 설정 (필수) MAINTAINER [작성자 정보] - 이미지를 생성한 사람의 정보를 설정 RUN [명령어] - FROM에서.. 2021. 6. 11. [Docker] Docker 이미지 다루기 (2) 앞서 포스팅에서 Docker hub에 이미지 파일을 올려서 공유하는 방법에 대해 포스팅했었습니다. 하지만 Docker hub에 올리는 경우 공개로 되어 노출이 됩니다. 이를 해결하기 위해 private registry를 사용하여 관리하여 배포할 수 있습니다. Docker hub에서는 private registry를 구현할 수 있게 컨테이너를 제공합니다. 다음 명령어를 통해 registry 컨테이너를 실행시켜줍니다. $ docker run -d -p 5000:5000 --restart always --name registry registry:2 --restart always 옵션: registry는 항상 실행되어야 함을 보장하는 옵션입니다 --name registry 옵션: 이름을 registry로 설정합.. 2021. 6. 11. [Docker] Docker 이미지 다루기 (1) 이번 포스팅에서는 docker의 이미지를 다루고 핸들링하는 방법에 대해 포스팅해보겠습니다. 예를 들어 $ docker run -it ubuntu 명령어를 통해 ubuntu 이미지를 기반으로 한 컨테이너를 생성하고, 다음과 같은 명령어로 환경을 설정해봅니다. $ docker run -it ubuntu $ apt -y update; apt -y upgrade; apt -y install net-tools 그럼 이제 위 컨테이너는 apt update, upgrade가 모두 완료되고, net-tools가 설치된 컨테이너가 됩니다. 이 컨테이너를 다른 사람과 공유하기 위해 docker commit 명령어를 사용해 이미지를 생성해서 공유할 수 있습니다. 즉, apt update, upgrade, net-tools가.. 2021. 6. 11. [Docker] Apache 사용해보기 이전 포스팅에서는 docker에서 nginx 컨테이너를 사용해보았습니다. 이번 포스팅에서는 apache 컨테이너를 사용해보겠습니다. 먼저 apache이미지로 컨테이너를 생성하기 위해 다음과 같은 명령어를 입력해줍니다. $ docker run -dit -p 9000:80 --name my-httpd httpd Apache는 httpd라는 이름도 가지고 있습니다. 9000번으로 설정해준 포트를 브라우저를 통해 들어가면 다음과 같은 결과가 나타납니다. 그리고 다음 명령어를 통해 실행 중인 apache 컨테이너에 접근해 보겠습니다. $ docker exec -it [컨테이너 ID] bash Apache 컨테이너에 들어가서 htdocs의 index.html 파일을 확인해보면 It works문구가 들어있는 것을 확.. 2021. 6. 10. [Docker] Docker Volume 사용하기 Docker volume이란 디렉토리를 매핑하는 것입니다. 즉, Docker host의 디렉토리와, container의 디렉토리를 연결하는 것입니다. 여태까지 포스팅한 글에서 ubuntu 이미지를 기반으로 한 컨테이너를 생성해서 nginx를 설치해서 구동도 해보고, nginx이미지 자체를 내려받아서 nginx 컨테이너를 구동해봤습니다. 만약 nginx이미지 자체를 내려받아서 컨테이너를 구동하는 명령어에서 실수로 포트를 매핑하지 않으면 어떻게 될까요? 다음과 같은 명령어를 봅시다. $ docker run -it nginx 위와 같이 포트를 매핑 못하고 nginx를 만들어버리면 접속이 불가능합니다. 이런 nginx컨테이너를 다시 매핑해주고 싶어도 불가능하고, 다시 만들어줘야 합니다. 그럼 동일한 nginx컨.. 2021. 6. 10. [Docker] Nginx 사용해보기 Nginx 설치하고 사용해보기 이번 포스팅에서는 Docker로 nginx를 사용해 보겠습니다. 먼저 다음 명령어로 ubuntu이미지를 기반으로 한 컨테이너를 실행하고 접근하겠습니다 $ docker run -i -t ubuntu bash 그리고 다음 명령어를 통해 환경을 설정해 주겠습니다 $ apt -y update $ apt -y upgrade 다음 명령어를 통해 nginx를 컨테이너에 설치해 주겠습니다 $ apt -y install nginx 설치 도중 다음과 같은 설정을 해줘야 하는데, Asia, Seoul을 선택해 주면 됩니다. 그럼 설치가 완료됩니다. nginx 버전을 확인하며 설치가 잘 된 것을 확인할 수 있습니다. 그럼 현재까지 nginx가 설치된 ubuntu 컨테이너를 구성했습니다. 추가적으.. 2021. 6. 10. [Docker] Docker Life Cycle 이해하기 Docker Life Cycle 이해하기 먼저 다음 명령어를 통해 ubuntu이미지로 컨테이너를 생성하고, 실행해봅시다. $ docker run -i -t ubuntu bash 이 명령어는 ubuntu 이미지로 컨테이너를 만들어 실행하고, 해당 컨테이너에서 bash 명령어를 실행한 것입니다. -i 옵션: interactive로 STDIN, 표준 입력을 연결하는 옵션입니다. -t 옵션: TTY를 연결하는 옵션입니다. 위 명령어를 실행하고, 다른 터미널 창에서 docker ps -a 명령어를 통해 현재 실행 중인 컨테이너를 확인할 수 있습니다. 방금 실행한 ubuntu이미지 컨테이너가 실행 중인 것을 확인할 수 있습니다. 실행 중인 컨테이너에서 나오기 실행 중인 컨테이너에서 나올 때에는 2가지 방법이 있습니.. 2021. 6. 10. [Docker] 기본 명령어 이번 포스팅에서는 Docker의 기본 명령어들에 대해 포스팅하려고 합니다. 가장 기본적인 명령어입니다. $ docker -- help 이 명령어로 docker에 있는 명령어들을 확인하고 배울 수 있습니다 $ docker run --help 이렇게 run이라는 명령어에 대한 정보들을 얻을 수 있습니다. $ docker ps Container의 목록을 확인할 수 있습니다. 기본적으로 이 명령어는 실행 중인 container만 보여줍니다. 현재 실행하고 있는 container는 없으므로 아무것도 뜨지 않습니다. 다음 명령어를 실행하면 현재까지 실행했던 container들에 대한 리스트를 확인할 수 있습니다. $ docker ps -a 이전에 한번 실행하고 바로 종료되었던 hello-world 컨테이너들을 확인.. 2021. 6. 10. 이전 1 2 다음 반응형