1. 도커 파일 작성
2. 도커 클라이언트
3. 도커 서버
4. 이미지 생성

1. 도커 파일 작성

  • 도커 파일이란 도커 이미지를 만들기 위한 설정파일
  • 컨테이너가 어떻게 행동해야하는지에 대한 설정을 정의함.
  • 도커 파일 만드는 순서
    • 베이스 이미지를 명시해준다.(파일 스냅샷에 해당)
    • 추가적으로 필요한 파일을 다운받기 위한 몇 가지 명렁어를 명시
    • 컨테이너 시작 시 실행될 명령어를 명시

From

- 이미지 생성 시 기반이 되는 이미지 레이어.

- <이미지이름>:<태그> 형식으로 작성.

- 태그를 안 붙이면 자동적으로 가장 최신 것으로 다운

ex) ubuntu:14.04

 

RUN

- 도커 이미지가 생성되기 전에 수행할 쉘 명령어

 

CMD

- 컨테이너가 시작되었을때 실행할 실행 파일 또는 쉘 스크립트

- 해당 명령어는  DockerFile 내 1회만 쓸 수 있다.

 

2. 도커파일이 도커 클라이언트에 전달되어 도커 서버가 인식되게 해야한다.

docker build ./

 

3. 이미지에 이름 주기

docker build -t dockerId/name : version


​인프런 '따라하며 배우는 도커와 CI환경​' 수강 중.

 

 

'Docker' 카테고리의 다른 글

[Docker] 기본 명령어 정리  (0) 2022.04.17
[Docker] Docker vs VM  (0) 2022.04.17
[Docker] Image / Container  (0) 2022.04.04

도커 작동순서

1) 도커 클라이언트에 명령어 입력 후 도커 서버로 보냄

2) 도커 서버에서 컨테이너를 위한 이미지가 이미 캐쉬가 되어있는지 확인

3) 없으면 도커 허브에서 다운받아옴. 있다면 갖고있는 이미지로 컨테이너 생성

 

이미지 내부 파일 시스템 구조

docker run 이미지이름 명령어

1) docker : 도커 클라이언트 언급

2) run : 컨테이너 생성 및 실행

3) 이미지 이름 : 이 컨테이너를 위한 이미지

4) 명령어 : 원래 이미지가 갖고 있는 시작 명령어를 무시하고 해당 자리에 있는 커맨드를 실행

 

컨테이너 나열

* docker ps -a : 모든 컨테이너 나열

  docker ps : 실행중인 컨테이너 나열

 

1) CONTAINER ID : 컨테이너의 고유한 아이디 해쉬값

2) COMMAND : 컨테이너 시작 시 실행한 명령어. 대부분 이미지에 내장되어 있으므로 별도 설정 필요X

3) STATUS : 컨테이너 상태. UP(실행중), EXITED(종료), PAUSE(일시정지).

4) PORTS : 컨테이너가 개방한 포트와 호스트에 연결한 포트. 특별한 설정을 하지 않은 경우 출력X

5) NAMES : 컨테이너 고유한 이름. 컨테이너 생성 시 --name 옵션으로 이름을 설정하지 않으면 도커 엔진이 임의로 형용사와 명사를 조합해 설정. id와 마찬가지로 중복이 안되고, docker rename 명령어로 이름을 변경할 수 있다.

     ->  docker rename original-name changed-name

 

컨테이너 중지

1) docker stop id/name: 컨테이너를 바로 중지시키지 않고 그동안 하고 있던 작업들을 완료하고(Grace Period) 중지시킨다.

2) docker kill id/name : 정리하는 시간 없이 바로 중지시킨다.

 

컨테이너 삭제

* 실행중인 컨테이너는 먼저 중지한 후에 삭제가 가능하다.

1) docker rm id/name 

   docker rm $(docker ps -a -q) : 윈도우(파워쉘에서 해야함. cmd에서 안됨)

 

이미지 삭제

1) docker rmi imgId

 

컨테이너, 이미지, 네트워크 모두 삭제

1) docker system prune

 - 도커를 쓰지 않을 때 모두 정리하고 싶을 때 사용하기

 - 실행중인 컨테이너에는 영향을 주지 않음.

 

실행중인 컨테이너에 명령어 전달

1) docker exec id

2) docker exec -it id 명령어 : -it를 붙여야 명령어 실행 후 계속 명령어를 적을 수 있다.

3) docker exec -it id sh : 실행 중인 컨테이너에 쉘 환경으로 접속하기

- 명령어를 입력할때마다 docker exec -it id 명령어를 적어주기에는 귀찮기 때문에 쉘환경으로 접속하여 명령어를 입력해준다.

4) Ctrl + D : 터미널 환경에서 나오기

 


​인프런 '따라하며 배우는 도커와 CI환경​' 수강 중.

'Docker' 카테고리의 다른 글

[Docker] 도커 이미지 생성하기  (0) 2022.04.18
[Docker] Docker vs VM  (0) 2022.04.17
[Docker] Image / Container  (0) 2022.04.04

+ Recent posts