1. 기본 용어

Image = class

Layer = Image + α

Container = Image나 Layer의 instant

 

2. docker image 검색 (image 모음)

 

3. docker 기본 명령어 (Image 다운, 목록 보기, 제거 && Container 생성, 실행, 종료, 제거)

더보기

$ docker pull httpd

httpd 이미지 풀 (다운로드)

 

$ docker images

pull한 이미지들 확인

 

$ docker run httpd

httpd 이미지 container생성 후 실행

 

$ docker run -name asdf httpd

httpd 이미지 asdf 이름으로 생성 후 실행

 

6. $ docker stop asdf

asdf 이름 container 정지

 

$ docker start asdf

asdf 이름 container 실행

 

$ docker ps

실행 중 container들 확인

 

$ docker logs -f asdf

asdf 이름 container log출력 (-f : 로그 계속해서 출력하는 옵션)

 

$ docker rm --force asdf

asdf 이름 container 제거 (--force : 컨테이너가 실행중일때 강제로 삭제하는 옵션)

 

$ docker rmi httpd

httpd 이미지 제거

 

4. docker 명령어1 (호스트와 컨테이너 네트워킹 : 포트포워딩, 디렉토리 동기화 연결)

더보기

$ docker run -name asdf -p 9999:80 httpd

-p : [docker 포트 포워딩]호스트(서버) 포트(9999)를 이미지 컨테이너의 포트(80)에 연결(할당)

 

$ docker exec asdf pwd

asdf container의 pwd명령어 실행(pwd)

 

$ docker exec -it asdf /bin/sh (/bin/bash)

asdf container의 쉘 프롬프트 실행, 연결 유지 (연결 해제 시 exit 입력)

 

$ docker run -name asdf -p 9999:80 -v ~/htmls:/usr/local/apaches/htdocs httpd

-v : 호스트의 디렉토리와 컨테이너의 디렉토리 동기화

 

$ docker run -it -name asdf ubuntu bash

-it ~ bash : asdf container를 생성하고 실행 직후 명령 프롬프트까지 실행

 

5. docker 명령어2 (Image Layer 생성)

더보기

$ docker commit asdf asdf-repo:asdf-v1

asdf container를 asdf-v1 테그로 asdf-repo 저장소에 이미지를 생성 [이것을 Layer 라고 함]

 

$ docker run -it -name asdf-v2 asdf-repo:asdf-v1 bash

asdf-repo 저장소의 asdf-v1 이미지로 asdf-v2 container를 생성 후 실행, 프롬프트 실행

 

$ docker commit asdf-v2 asdf-repo:asdf-v2

asdf-v2 container를 asdf-v2 테그로 asdf-repo 저장소에 이미지를 생성 [확장 Layer 를 계속 생성 할 수 있다.]

 

6. docker 명령어3 (Dockerfile로 이미지 생성)

더보기
From ubuntu (Image)
Run apt update && upt install -y git

$ docker build -t asdf-repo:asdf-v3 /Dockerfile경로

 

7. docker 명령어4 (내가 만든 Docker Image를 Docker Hub에 공유)

더보기

$ docker login

Docker hub에 로그인

 

$ docker push docker/mobytheewhale/my-first-repo:tagname

로그인 한 계정의 저장소에 이미지를 업로드

+ Recent posts