DevOps/Docker
-
[Docker] Docker 명령어 알아두면 좋을 것들 정리DevOps/Docker 2021. 4. 28. 14:14
Docker Container 접속하는 법 docker exec -t -i container_name /bin/bash (Docker Container 접속) ex) Ddocker exec -t -i nginx /bin/bash (Docker Container 접속) Docker Cotainer에 접속하고 싶을 때 Docker Compose로 Container 이름 지정하는 법 version: "3" services: web: image: nginx container_name: nginx ports: - 81:80 volumes: - /etc/nignx/conf.d/:/etc/nginx/conf.d 위와 같이 container_name을 지정하면 Container가 실행될 때 지정한 이름으로 만들어짐 D..
-
[Docker] EC2에서 Docker로 Nginx Reverse Proxy 하는 법DevOps/Docker 2021. 4. 23. 21:53
EC2에서 Docker로 Nginx Reverse Proxy 하는 법 이번 글에서는 EC2에서 Docker-Compose를 이용해서 Nginx, Spring Boot 컨테이너 두 대를 실행시켜서 Reverse Proxy 하는 것을 해보겠습니다. 서버 아키텍쳐 이번 글의 아키텍쳐를 보면 위와 같습니다. 그럼 바로 실습을 해보겠습니다. EC2 Docker 설치 현재 저는 EC2 Linux2를 사용하고 있습니다. sudo yum update -y sudo amazon-linux-extras install -y docker sudo service docker start 도커가 잘 설치되었는지 docker --version으로 확인할 수 있습니다. 그리고 Docker-compose도 사용할 것이기 때문에 이것도 ..
-
[Docker] Docker Compose를 사용해야 하는 이유DevOps/Docker 2021. 4. 23. 16:05
Docker Compose를 사용하는 이유는? 먼저 Docker Compose를 사용하지 않고 NodeJS, Redis 컨테이너를 만들어서 컨테이너간 통신을 해보겠습니다. NodeJS 환경 세팅 npm init Enter (계속) npm init 명령을 치면 어떤 것들이 여러 개 뜨는데 Enter를 계속 치겠습니다. 그러면 위와 같이 package.json이 만들어집니다. { "name": "compose", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "start": "node server.js", "test": "echo \"Error: no test specified\" && exit 1" }, "dependenci..
-
[Docker] Docker 기본 명령어 Volume 이란?DevOps/Docker 2021. 4. 22. 15:58
들어가기 전에 일단 volume이 무엇인지 알기 전에 워드프레스, MySQL을 가지고 간단한 실습을 해보겠습니다. MySQL 실행하기 docker run -d -p 3306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=true --name mysql mysql:5.7 위의 명령어를 터미널에서 실행해보겠습니다. 그러면 위와 같이 Docker Image(MySQL)를 다운받고 컨테이너가 실행되는 것을 볼 수 있습니다. MySQL 접속하기 docker exec -it mysql mysql 위와 같이 exec 명령어를 통해서 mysql에 접속을 했습니다. create database wp CHARACTER SET utf8; grant all privileges on wp.* to wp@'%' ..
-
[Docker] Dockerfile 기본 명령어 정리DevOps/Docker 2021. 4. 6. 11:31
Dockerfile 명령어 정리하기 FROM 생성할 이미지의 베이스가 될 이미지를 뜻합니다. FROM 명령어는 Dockerfile을 작성할 때 반드시 한 번 이상 입력해야 합니다. MAINTAINER 이미지를 생성한 개발자 정보를 나타냅니다. RUN 이미지를 만들기 위해 컨테이너 내부에서 명령어를 실행합니다. RUN 명령어에 ["/bin/bash", "echo hello" >> test.html"] 같이 입력하면 /bin/bash 셸을 이용해 'echo hello >> test2.html'을 실행한다는 뜻입니다. ADD 파일을 이미지에 추가합니다. Dockerfile이 위치한 디렉터리에서 파일을 가져옵니다. ex) ADD test.html /var/www/html 이라면 Dockerfile과 같은 디렉토..
-
[Docker] EC2에서 Docker 컨테이너를 활용하여 웹 서버 실행하기DevOps/Docker 2021. 3. 29. 16:04
EC2에 Docker를 이용해서 웹 서버 띄우기 이번 글에서는 EC2 Linux2를 이용해서 실습을 진행해보겠습니다. docker 설치 sudo yum update -y sudo amazon-linux-extras install -y docker sudo service docker start Amazon Linux 2에 LAMP 웹 서버 설치 EC2 linux2 버전에서 웹 서버를 설치하는 명령어를 정리해보겠습니다. sudo yum update -y sudo amazon-linux-extras install -y php7.2 sudo yum install -y httpd sudo systemctl start httpd (Apache 웹 서버 시작(d는 daemon 임)) sudo systemctl ena..
-
[Docker] Docker Image로 Container를 만드는 과정DevOps/Docker 2021. 3. 29. 14:52
이미지로 컨테이너를 만들기 지금까지 이미지를 이용해서 컨테이너를 생성한다고 배웠습니다. 하지만 어떻게 해서 이미지를 이용해 컨테이너를 생성하는지를 이번 글에서 한번 다뤄보겠습니다. 아래와 같이 이미지를 통해 컨테이너를 만들고 컨테이너는 이미지의 인스턴스 정도로 생각하면 된다라고 저번 글에서 소개한 적이 있습니다. 이미지: 응용 프로그램을 실행하는데 필요한 모든 것을 포함하고 있습니다. 여기서 말하는 필요한 모든 것이 무엇일까요? 컨테이너가 시작 될 때 실행되는 명령어(Dockerfile로 관리) 파일 스냅샷(ex: 카카오톡이라면 카카오톡을 실행하는데 필요한 파일) - 디렉토리나 파일을 압축시킨 느낌 ex) 스프링 프로젝트 전체 이미지로 컨테이너 만드는 순서 Docker 클라이언트에 docker run 입..
-
[Docker] Docker 간단한 명령어로 실습해보기DevOps/Docker 2021. 3. 29. 14:43
Docker 클라이언트 명령어 알아보기 docker run 앞에서 위와 같은 명령어를 사용했었습니다. 위의 명령어는 어떤 의미를 가지고 있을까요? 도커 클라이언트에 명령어 입력후 도커 서버로 보냄 도커 서버에서 컨테이너를 위한 이미지가 이미 캐쉬가 되어 있는지 확인 없으면 도커 허브에서 다운 받아옴(Pulling) 있다면 이미 가지고 있는 이미지 컨테이너 생성 docker run alpine ls 위와 같이 뜨는 것을 볼 수 있습니다. 저는 alpine 이미지가 이미 존재하기 때문에 바로 위와 같이 컨테이너가 실행된 것을 볼 수 있습니다. ubuntu 컨테이너 docker run --rm -it ubuntu:20.04 /bin/sh --rm: 컨테이너를 실행하고 바로 삭제하라는 명령어 위와 같이 ubun..