-
3. Docker 이미지 [초보자를 위한 Doker 실습 - 데브옵스(DevOps)]DevOps/Docker 2023. 5. 12. 17:23
왜 이미지를 생성해야 하는가?
- 애플리케이션에서 사용하려는 컴포넌트나 서비스를 Docker Hub에서 찾을 수 없기 때문에 혹은 개발 중인 애플리케이션을 도커화해서 배포가 쉽도록 만들고 싶기 때문이다.
- 수동 설정 시
ㆍ1. OS - Ubuntu
ㆍ2. Update apt repo
ㆍ3. Install dependencies using apt
ㆍ4. Install Python dependencies using pip
ㆍ5. Copy source code to /opt folder
ㆍ6. Run the web server using "flash" command
- Docker는 구축한 계층을 전부 캐시에 저장한다.
- Dockerfile 을 만들고 build 후 docker push를 하면 도커허브에서 확인 가능하다.
환경 변수에 접근하는 법
- -e 속성 : 컨테이너 내에 환경변수를 설정할 수 있다.
docker run -e APP_COLOR=blue myApp
- 이미 실행 중인 컨테이너에 설정된 환경변수는 docker inspect를 이용해 확인한다.
Docker의 CMD 인수(argument) 및 진입점(ENTRYPOINT)
- docker run ubuntu → docker ps 시 실행중인 컨테이너가 없다. docker ps -a 시 종료된 상태임을 확인할 수 있다.
ㆍ컨테이너는 운영체제를 호스팅하기 위한 것이 아니다.
ㆍ컨테이너는 특정 작업을 하기 위한 것으로 웹 서버, 응용 프로그램 서버 또는
데이터베이스의 인스턴스를 호스팅하거나 단순히 일종의 계산 또는 분석을 수행한다.
ㆍ작업이 완료되면 컨테이너가 종료된다.
ㆍ컨테이너는 그 안의 프로세스가 살아있는 동안에만 살아있다.
- CMD 명령어 : 명령줄 매개변수는 완전히 대체된다.
- 진입점 명령어 : 명령줄 매개변수가 추가
- 런타임 도중 진입점을 수정하고 싶다면?
docker run --entrypoint sleep2.0 ubuntu-sleeper 10
ㆍ--entrypoint 옵션을 사용하여 재정의
'DevOps > Docker' 카테고리의 다른 글
6. 컨테이너 오케스트레이션 - Docker Swarm & Kubernetes (0) 2023.05.31 5. Docker Engine, Docker 스토리지 그리고 Docker 네트워킹 (0) 2023.05.14 4. Docker Compose & 5. Docker registry (0) 2023.05.13 2. Docker 명령어 [초보자를 위한 Doker 실습 - 데브옵스(DevOps)] (0) 2023.05.11 1. 소개 [초보자를 위한 Doker 실습 - 데브옵스(DevOps)] (0) 2023.05.11