KimMinJun
Coding Note
KimMinJun
전체 방문자
오늘
어제
  • 분류 전체보기 (499) N
    • ALGORITHM (11)
      • 정렬 (6)
      • 최단경로 (1)
      • 자료구조 (1)
      • 슬라이딩 윈도우 (1)
      • etc (2)
    • Git (5)
    • Web (24)
      • Vanilla JS (13)
      • TS (2)
      • React (7)
      • ETC (1)
    • React 공식문서 (번역, 공부) (11)
      • Quick Start (2)
      • Installation (0)
      • Describing the UI (9)
      • Adding Interactivity (0)
      • Managing State (0)
      • Escape Hatches (0)
    • Next.js 공식문서 (번역, 공부) (3)
      • Getting Started (2)
      • Building Your Application (1)
    • PS (432)
      • 백준 (187)
      • Programmers (105)
      • CodeUp (21)
      • STL (3)
      • 제코베 JS 100제 (50)
      • SWEA (0)
      • LeetCode (65)
    • IT (1)
    • Docker (11) N
    • CS (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 관리

공지사항

인기 글

태그

  • 제코베 JS 100제
  • js
  • 백준
  • Level 2
  • recursion
  • 정렬
  • 다이나믹 프로그래밍
  • tree
  • C
  • string
  • 문자열
  • Level1
  • LeetCode
  • programmers
  • codeup
  • 수학
  • 그래프
  • Level 0
  • Level 1
  • C++

최근 댓글

최근 글

hELLO · Designed By 정상우.
KimMinJun

Coding Note

컨테이너 생성 / 실행하기
Docker

컨테이너 생성 / 실행하기

2025. 7. 31. 07:17

컨테이너 생성하기

컨테이너는 이미지를 바탕으로 생성하게 된다.

다음 명령어로 이미지를 이용해서 컨테이너를 생성할 수 있다.

docker create <이미지명>

지난 포스팅에서 nginx 이미지를 삭제했었는데,

알아서 최신 버전으로 pull해서 설치까지 해준다.

 

컨테이너를 만들었으니 확인해보자.

다음 명령어로 로컬 시스템에 있는 모든 Docker 컨테이너 목록을 볼 수 있다.

docker ps -a

여기에 STATUS 부분에 'Created' 라는 상태가 보일 것이다.

'Created'는 생성은 했지만, 실행중인 컨테이너가 아닌 상태이다.

 

컨테이너 실행하기

다음 명령어로 nginx 컨테이너를 실행해주자.

docker start <CONTAINER ID>

실행해준 뒤, 다시 리스트를 보면 STATUS가 'Up'으로 된 것을 볼 수 있다.

'Up'은 실행중인 컨테이너라는 의미이다.

 

생성과 동시에 실행하기

지금은 create로 컨테이너를 만들고, start로 컨테이너를 실행시켜주었다.

그런데, run이라는 명령어로 한 번에 컨테이너를 만들고, 바로 실행시킬 수 있다.

이 run 명령어는 이전 포스팅에서 잠깐 보였던 적이 있다.

2025.07.30 - [Docker] - Docker를 활용해서 Nginx 설치 및 실행하기

 

Docker를 활용해서 Nginx 설치 및 실행하기

Nginx란?Nginx는 웹 서버, 리버스 프록시, 로드 밸런서, HTTP 캐시 등 다양한 역할을 하는 서버 중 하나이다.여기서 웹 서버는 HTML 웹 페이지를 렌더링 시키는 역할을 한다.나머지는 차차 알아보자. Ngi

jun-coding.tistory.com

 

일단, 설치되어 있는 이미지와 컨테이너를 모두 지워주었다.

지우는 명령어는 지난 포스팅에 언급해두었다!

2025.07.31 - [Docker] - 도커 이미지 조회 / 삭제하기

 

도커 이미지 조회 / 삭제하기

2025.07.30 - [Docker] - 도커 이미지 다운로드 하기 도커 이미지 다운로드 하기컨테이너를 실행하려면 도커 이미지가 필요하다.이미지를 다운받기 위해서는 다음과 같은 명령어를 입력하면 된다.docke

jun-coding.tistory.com

 

그리고 다음 명령어로 nginx 이미지를 설치하고, 실행해주면 된다.

docker run nginx

이미지가 없으니, 자동으로 이미지를 다운로드 하고,

실행까지 시켜주는 것을 볼 수 있다.

다만, foreground에서 실행되기 때문에 로그들이 터미널에 보이게 된다.

터미널에서는 실시간 로그들이 보이기 때문에,

만약 종료하고 싶으면 윈도우는 Ctrl + C,

Mac은 Command + C를 누르면 된다.

 

background에서 실행시키고 싶으면,

이전에 언급한 `-d` 플래그로 실행시켜주면 된다.

docker run -d nginx

컨테이너 목록까지 확인해보면 잘 실행되고 있는 것을 볼 수 있다.

 

컨테이너에 이름 붙이기

nginx 컨테이너에 이름을 붙이고 싶으면 다음과 같이 입력하면 된다.

docker run -d --name my-web-server nginx

확인해보면, NAMES에 'my-web-server'로 잘 지정된것을 볼 수 있다.

 

포트 연결하기

컨테이너를 보면 PORTS 부분에 '80/tcp'라고 적힌것을 볼 수 있다.

 

그러면 브라우저에서 80번 포트로 접속할 수 있을까?

웹 HTTP의 기본 포트가 80번이니 브라우저에서 localhost로 접속해보자.

위와 같이 nginx 페이지가 잘 보이는 것을 확인할 수 있다.

하지만, 이것은 캐싱된 페이지일 수 있으니 '시크릿 모드'로 접속해보자.

 

이처럼, 접속할 수 없는 것을 볼 수 있다.

무슨 이유일까?

 

컨테이너는 '독립된 공간' 이라고 했다.

이 말은, 호스트 컴퓨터와 컨테이너는 서로 다른 네트워크를 사용한다는 것이다.

따라서 우리의 컴퓨터에서는 '호스트 컴퓨터'에만 접근이 가능하고,

'컨테이너'로 접근할 수는 없는것이다.

 

따라서 이 '독립된 컨테이너'에 접근하려면,

포트를 연결해주어야 한다.

 

기존의 컨테이너는 지우고,

다음 명령어로 새로 만들어주자.

# docker run -d -p [호스트 포트]:[컨테이너 포트] 이미지명[:태그명]
docker run -d -p 4000:80 nginx

 

 

이렇게 생성한 뒤, PORTS를 보면 아까와는 다르게 표시되고 있다.

4000번 포트로 '호스트 컴퓨터'에 접근하면,

호스트 컴퓨터가 80번 포트로 '컨테이너'에 접근할 수 있게되는것이다.

 

그럼 브라우저에서 `localhost:4000`으로 접속해보자.

이와 같이, 4000번 포트로 접속하면 nginx 페이지가 잘 뜨는 것을 볼 수 있다.

 

브라우저(HTTP)의 기본 포트가 80이라고 했으니,

80:80으로 설정하면 그냥 localhost로 접속해도 되지 않을까?

 

기존 컨테이너를 지운 뒤, 다음과 같이 입력해보자.

# docker run -d -p [호스트 포트]:[컨테이너 포트] 이미지명[:태그명]
docker run -d -p 80:80 nginx

 

그리고 나서, 브라우저에는 캐싱된 페이지가 남을 수 있기 때문에,

브라우저 전체를 끄고 다시 시크릿 모드로 들어가주자.

기존에 4000번 포트로 다시 들어가보면 연결이 되지 않는 것을 볼 수 있다.

 

하지만 이제 80번 포트, 즉 그냥 localhost로 접속해보면 다음과 같이 정상적으로 보인다.

 

저작자표시 (새창열림)

'Docker' 카테고리의 다른 글

컨테이너 로그 조회하기  (1) 2025.07.31
컨테이너 관련 명령어 알아보기  (2) 2025.07.31
도커 이미지 조회 / 삭제하기  (0) 2025.07.31
도커 이미지 다운로드 하기  (0) 2025.07.30
    'Docker' 카테고리의 다른 글
    • 컨테이너 로그 조회하기
    • 컨테이너 관련 명령어 알아보기
    • 도커 이미지 조회 / 삭제하기
    • 도커 이미지 다운로드 하기
    KimMinJun
    KimMinJun

    티스토리툴바