[서버구축] - 도커란?, Docker[명령어]
2025. 11. 18. 13:10ㆍ빌드(CI)배포(CD)/Docker
도커
- 환경셋팅은 여러가지로 구성할 수 있다.
- AWS에다가 docker 설치
- 개인 데스크탑, 노트북 등에 docker 설치
특징 : 이식성
- docker를 사용하면,
- 일관된 설치할 수 있다.
- 독립적인 환경이여서 충돌 방지
- 명령어 한줄로 설치 가능하다.
- 핵심 용어
- 컨테이너 : 분리된 환경에서 실행 및 관리 가능함...
- 원도우 환경을 보면, 여러 계정을 둘 수 있다. 그리고 각 계정들은 각기 다른 프로그램들이 설치 할 수 있다. 서로 분리된 환경이다.
- Docker환경 안에 미니 컴퓨터가 존재한다. 그리고 그 상위 컴퓨터를 호스트 컴퓨터라고 한다.
- 독린된 환경으로 저장공간, 네트워크(IP, PORT) 가지고 있다.
- 이미지 : 게임 팩과 같다.
- 설치 과정, 설정, 버전 정보 등을 포함한다.
- 이미지는 어디서 다운로드 되는 것인가?
- https://hub.docker.com/ 여기서 다운로드 됨(Github처럼 저장소 역할)
- 각 사이트에 특정 버전을 다운로드 하며, 각 버전을 태그명이라고 함...
- 실습(단어와 중요한 부분)
단어
- NginX
- 사용한 목적 3가지
- Html, 빌드를 통한 React파일(리액트는 자바스크립트 라이브러리) 정적인 파일들 랜더링함
- 로드 밸런스 : 분석 처리, 고가용성
- Reverse Proxy : 어느 서버로 보낼지! 중간서버(미들웨어) 역할
- 사용한 목적 3가지
명령어
첫번째 방법
[이미지 생성]
docker pull nginx
[이미지 실행]
docker start ID값
docker stop ID값
-------------------------
두번째 방법
[컨테이너 생성]
docker create nginx
docker create mysql
- 위 작동원리
수동으로 다운받던 이미지 이지만, 컨테이너로 특정이미지를 생성하면, 직접 이미지가 존재하는지 찾아보고 없다면, 도커허브에서 그 이미지를
자동으로 다운받아서 미니 컴퓨터에 설치됨
[현재 생성된 도커 컨테이너 조회]
docker ps - 실행중인 컨테이너 표시
docker ps -a - 중단된 컨테이너 / 실행중인 컨테이너 표시
- Created 생성만 됨
- Up 이라고 나오면 실행중
[이미지 삭제]
docker image rm ID값
[컨테이너 삭제]
docker rm ID값
[create + start 합쳐놓은 명령어]
docker run nginx : 하면 설치 및 실행까지 다함
하지만, 백그라운드 명령어
docker run -d nginx
포그라운드 : 실시간으로 CLI로 실행, 어떤 로그 확인하는 것이 장점
백그라운드 : 포그라운드 반대 개념으로 중간에 명령어 입력 가능
중요 : 로그 확인 명령어
docker logs --tail 0 -f ID값
-f는 실시간 쌓이는 로그보기
컨테이너 내부에 접속해보기
[컨테이너 접속 명령어]
docker exec -it ID값 bash
설정을 위해서 내부에 접속해야함...
도커 볼륨(Docker Volume) : 도커 컨테이너를 삭제 되더라도 영속적으로 저장되게 하기 위함
도커의 보안 취약점
- 루트 권한
- 항상 루트권한으로 접속 및 켜져 있음(Docker Daemon)
- docker.sock 마운트시 위험
- 여러 컨테이너들이 호스트 커널과 공유함
- 격리된 환경이 아님
------------------ 다른 실습 -----------------------
[ 우분투 환경에 노트북에 서버 구축 ]
- 도커 설치
- 우분투에 nginx 설치
- 도커에 마리아 DB 설치
# Docker 버전 확인
docker --version
# Docker 실행 여부 확인
sudo systemctl status docker
# Nginx 프로세스 확인
ps aux | grep nginx
# Nginx 컨테이너 중지
sudo docker stop frontend-nginx
# Nginx 컨테이너 삭제
sudo docker rm frontend-nginx
# 확인
sudo docker ps
- 우분투에 설치하는 거임(도커에 설치하는게 아님)
sudo apt-get update
sudo apt-get install nginx -y
# 설치 확인
nginx -v
# Certbot 설치
sudo apt-get install certbot -y
# SSL 인증서 발급
sudo certbot certonly --standalone -d eumbank.co.kr -d www.eumbank.co.kr
1. nginx - 설치
2. MariaDB 설치
docker를 aws에 설치하고, 각 컨테이너 즉, MariaDB 설치 후 서버의 화면

-- 실제 서버 구축시 사용한 이미지