티스토리 뷰

Docker

[Docker] docker 설치하는 방법

onlog writer 2023. 4. 7. 12:02

 

Docker애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼이다.

Docker를 사용하면 환경에 구애받지 않고 애플리케이션을 신속하게 배포 및 확장할 수 있으며 docker가 제공하는 일관된 명령어로 서버를 관리할 수 있기 때문이다.

 

 

 

 docker 명령어

docker run -d -p {인스턴스 포트번호}:{도커 포트번호} --name {컨테이너 이름} -e {키=값} {image}

-d

  • 컨테이너가 실행되고 있는 화면에서 -d (데몬) 옵션을 추가해 실행하면 백그라운드에서 실행되도록 할 수 있다.
  • 도커 데몬이란? 도커 엔진은 외부에서 API 입력을 받아 도커 엔진의 기능을 수행하는데, 도커 프로세스가 실행되어 서버로서 입력을 받을 준비가 된 상태를 도커 데몬이라 한다.

-p

  • 도커를 실행시키고 있는 호스트의 포트와 도커 컨테이너의 포트를 매핑하는 옵션이다.
  • 앞 번호가 도커를 실행시키고 있는 인스턴스의 포트번호이고, 뒷 번호가 컨테이너의 포트 번호이다.

-- name

  • 이 옵션을 통해 컨테이너의 이름을 설정해 줄 수 있다.
  • 컨테이너를 시작, 중지, 삭제할때 컨테이너 id가 아닌 설정된 이름으로 명령을 실행 시킬 수 있다.

-e

  • 환경변수를 설정하는 옵션이다.
  • 환경변수는 실행할 이미지마다 다르고 문서에서 제공해주니 참고 할 것.
  • 키 = 값 형태로 설정할 수 있다. mysql 환경변수 예시 (Environment Variables 참고)

 

컨테이너 시작 

docker start {name 또는 container id}

컨테이너 중지

docker stop {name 또는 container id}

컨테이너 삭제

docker rm {name 또는 container id}

도커 프로세스 확인(실행되고 있는 컨테이너를 확인)

docker ps

모든 도커 프로세스 확인(중지되어 있는 컨테이너도 확인)

docker ps -all

환경 변수 변경 방법

docker stop {name 또는 container id} 
// 컨테이너를 중지한 후 도커 환경 변수를 수정한 후 다시 run
docker run -d -p {인스턴스 포트번호}:{도커 포트번호} --name {컨테이너 이름} -e {키=값} {image}
// 환경 변수를 수정한 후 다시 run

 

 

 docker 설치

EC2에 접속하여 관리자 권한으로 변경한다.

sudo su -

Docker 홈페이지에서도 받을 수 있지만, 도커 설치 스크립트를 github에서 받아서 스크립트를 실행한다.

# root 디렉토리에 git 폴더를 만들어주고, 폴더 내로 들어간다.
mkdir git
cd git

# github에서 clone해서 받아준다.
git clone https://github.com/Kyeongrok/docker_minikube_kubectl_install

------------------------------------------
~# ll
total 28
drwx------  5 root root 4096 Oct 11 10:51 ./
drwxr-xr-x 19 root root 4096 Oct 11 08:31 ../
-rw-r--r--  1 root root 3106 Oct 15  2021 .bashrc
-rw-r--r--  1 root root  161 Jul  9  2019 .profile
drwx------  2 root root 4096 Oct 11 08:31 .ssh/
drwxr-xr-x  3 root root 4096 Oct 11 10:51 docker_minikube_kubectl_install/
drwx------  4 root root 4096 Oct 11 08:31 snap/


# ll로 받아졌는지 확인 후 폴더 내로 들어간다.
ll 
cd docker_minikube_kubectl_install/

파일이 존재하는지 확인한 후 터미널에 아래 명령어 입력하고 도커를 설치한다.

sh docker_install.sh

설치 로딩이 끝나면, docker를 입력해본다. docker 명령어가 쭉 출력된다면, docker를 띄우는데 성공한것이다.

docker

 

 

 docker nginx 띄워보기

 

Nginx란 간단하게 말하면 가벼운 고성능 웹서버로 높은 트래픽 처리를 위해 만들어졌다. 

클라이언트로부터 요청을 받았을 때 요청에 맞는 정적 파일을 응답해주는 HTTP Web Server로 활용되기도 하고, Reverse Proxy Server로 활용하여 WAS 서버의 부하를 줄일 수 있는 로드 밸런서로 활용되기도 한다.

Apache의 경우 접속마다 Process 또는 Thread를 생성하는 구조로, 다수가 동시접속을 하면 그 만큼 생성비용이 든다. 하지만 nginx는 한 개 또는 고정된 프로세스만 생성하고, 그 프로세스 내에서 비동기 방식으로 효육적으로 작업을 처리한다.

 

 

 

터미널에 아래 명령어를 입력 한다.

-p 80:80 : 외부에서 Docker container로 포트포워딩을 해주어야 한다. 

[호스트의 포트:컨테이너 포트] (80은 웹 서버 기본포트이다)

docker run -p 80:80 nginx

 

인터넷 창에 퍼블릭 ipv4 dns 주소:80 입력해서 아래 화면과 같이 뜨면 설치가 잘된 것이다.

 

 

 

 

nginx창이 잘 뜨면 터미널은 Ctrl + C 로 빠져나와서 다음 명령어로 데몬으로 MySQL을 3306포트에 실행한다.
(패스워드에는 원하는 패스워드를 입력)

docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -d mysql

 

 

docker의 daemon으로 mysql이 잘 실행되는지 확인하기 위해 도커 컨테이너 목록을 확인한다.

docker ps

 

 

'Docker' 카테고리의 다른 글

[Docker] Dockerfile 분석해보기  (0) 2023.05.23
[Build] Docker 빌드 중 CPU 이슈  (0) 2023.03.14
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함