본문 바로가기

반응형

[Docker]

(5)
[Docker] CMD vs ENTRYPOINT 이전글 에서도 말했듯이 컨테이너는 프로세스가 종료되면 내려간다. 그 프로세스를 지정하는게 CMD , ENTRYPOINT 명령어다. 이 두개의 명령어는 컨테이너가 생성되고 최초로 실행할 때 수행되는 명령어를 지정하는 녀석들이다. 두개의 가장 큰 차이점이라면 실행 명령어를 오버라이드 할수 있냐 없냐다. 더 상세하게 나가기 전에 실행 명령어부터 보자 1. 실행 명령어 형태. Shell vs Exec 두개의 명령어는 최종적으로 두 형태중 하나의 형태를 가지게 된다. 1-1. Shell Form [command] CMD echo "Hello world" ENTRYPOINT echo "Hello world" 1-2. Exec From ["executable", "parameter"] CMD ["echo", "Hel..
[Docker] ADD vs COPY Dockerfile 작성시, 파일 복사를 담당하는 녀석들이다. 사용시 다음과 같은 형태를 가진다 ADD [source] [destination] COPY [source] [destination] 1. ADD 위 명령어의 사용 방법은 대략 3가지 정도가 있다. 1. 현재 로컬 경로에서 이미지로 복사 ADD /source/file/path /destination/path 2. url을 통해서 파일을 받아서 이미지로 복사 ADD http://source.file/url /destination/path 3. 압축파일을 해제한 상태로 이미지 복사 ADD source.file.tar.gz /destination/path 2번과 3번은 동시에 사용될 수 없으며, 사용가능한 압축파일 타입은 identity, gzip,..
[Docker] 도커 이미지 이미지를 왜 만들어? 내 서비스에 필요한 기능이 도커 허브에 없거나 내 애플리케이션을 배포하려고 도커 이미지를 만들거면 도커 파일을 만들어줘야 한다. 주로 컨테이너를 만드는데 있어 필요한 패키지, 소스코드, 환경변수 등을 작성한다. Dockerfile에서 자주 사용되는 명령어 명령어 설명 FROM : 베이스 이미지 지정 RUN 수행할 명령어 지정 CMD 컨테이너가 실행될 때 수행할 명령어 EXPOSE 포트 지정 ENV 환경변수 지정 COPY 로컬 파일을 컨테이너로 복사 ADD 이미지 생성시 파일 추가 ENTRYPOINT 컨테이너 실행할 때 수행할 명령어 VOLUME 이미지의 볼륨 지정 WORKDIR 컨테이너 작업 디렉토리 지정 예제 Dockerfile FROM Ubuntu RUN apt-get updat..
[Docker] 잊을것 같으니 메모하자 - 도커 명령어 옵션 1. stdin 도커 컨테이너는 기본적으로 standard input을 입력받을 수가 없다. 값을 받아서 쓰고 싶으면 호스트와 도커 컨테이너를 연결해줘야한다. 그러기 위해서 사용되는게 아래 두가지 옵션이다 -i : interactive mode, 입력을 받을 수 있게한다 -t : Pseudo Terminal, 컨테이너 터미널과 호스트를 연결해준다 docker run -it [Image] 2. Port docker run을 하게 되면 사설 IP주소 주로 172.17.0.2 를 할당받게 된다. 그 결과 컨테이너 외부에서 내부로의 접근이 불가능해진다. 이러한 문제를 해결하기 위해 포트포워딩 기법을 사용한다. docker run -p 1234:5000 [Image] 호스트의 1234 포트를 컨테이너 내부의 50..
[Docker] 잊을것 같으니 메모하자 - 도커 명령어 1. 도커 실행 docker run [Image] docker를 실행하는 호스트에 이미지가 없으면 docker hub에서 이미지를 받아서(pull) 실행한다. 그냥 docker run을 실행하면 이미지를 전부 받기까지 아무것도 못하고 기다려야한다. 이때 사용하는 옵션이 -d 옵션이다. 해당 옵션을 사용하면 컨테이너 아이디가 바로 리턴되고 실제 작업은 백그라운드에서 수행된다. 2. 실행중인 목록 조회 docker ps 실행중인 도커 컨테이너 조회 -a 옵션을 추가하면 종료/실행중이지 않는 녀석까지도 리스트업 해준다. 실행중인 컨테이너에 접근하고 싶으면 attach 명령어 사용 3. 컨테이너 중지 docker stop [Container ID/Name] 컨테이너 중지, 여러개를 중지하고 싶으면 뒤에 띄어쓰기..

728x90