데이터센터프로그래밍07
07-Docker Hub & Dockerfile
🔵 7.1 Dockerfile
- 이미지를 만드는 파일
- 실제로 텍스트 파일임
- 도커엔진에게 일을 시켜 이미지를 만듦
- 도커파일에 작성되어 있는 문장들은 필요한 SW를 차곡차곡 쌓는 것(레이어)임
ex. 우분투 및 파이썬 설치, 환경구축
🔵 7.2 Dockerfile : FROM, COPY, RUN, CMD
- 도커파일은 Infrastructure as code의 대명사
FROM
: 가장 밑바닥의 우분투 18.04버전을 도커 허브에서 가져와서 설치
: 즉, 이미지를 백지 상태로 만든 후 가장 밑바닥에 우분투 18.04를 설치COPY
: 우분투 운영체제를 가지고 와서 내가 만든 프로그램을 우분투 위에서 돌아가도록 이미지를 만듦
: 즉, COPY는 이미지를 만드는 중에 도커 명령을 수행하고 있는 개발자의 컴퓨터의 directory (current directory or local) 이 파일을 도커 이미지 안으로 넣으라는 의미
🧸 copy . /app란?
: 내 현재 directory 파일들을 우분투 이미지의 root directory 밑의 app에 copy하라는 의미
ex. Apache에서 이미지를 가져온 후에 자신이 만든 웹사이트를 copy해서 안으로 넣으면 됨RUN
: run 뒤에 있는 make /app을 실행하라는 의미
: make는 파일이 많을 때, comfiler에게 작업을 시키기 위한 별도의 작업명세서를 만듦
: make 파일이 있을 경우, 우분투 안에 들어간 자신의 프로그램을 우분투인 make 명령어를 통해서 만들어줌CMD
: CMD command는 우분투 안에 있는 명령어를 실행하라는 의미
: 우분투에 탑재된 기본 프로그램인 파이썬을 통해서 자신이 만들어서 업로드한 파일 중에 app.py를 실행하라는 의미
🙂 따라서, 이 이미지는 우분투가 있으며 / 웹프로그램일 들어가 있으며 / 내가 만든 파이썬 프로그램을 수천~수만개에서 돌리고 싶은 마음으로 만든 ... 이미지를 만들기 위한 도커파일임
🔹 코드 명령어 & 설명
🟩 Dockerfile
## Docker file for a slim Ubuntu-based Python3 image
# 도커파일로 부터 우분투의 최신버전 가져오기
From ubuntu:latest
MAINTAINER fNNdsc "작성한 사람"
# run을 한다는 것은 도커엔진에게 우분투 가져온 것 안으로
# 들어가서 apt-get, cd, ln, pip3 install을 실행
RUN apt-get update \
&& apt-get install -y python3-pip python3-dev \
&& cd /usr/local/bin \
&& ln -s /usr/bin/python3 python \
&& pip3 install --upgrade pip
ENTRYPOINT ["python3"]
```
🔹 코드 명령어 & 설명
🟩 Basic Command
```Linux
docker pull
docker image ls
docker container run
docker container ls
docker container ls -a(or --all)
docker container ls -a -q(or -aq)
docker container stop
docker container kill
🔹 코드 명령어 & 설명
🟩 Information Command
docker --version
docker system info
docker system df
docker ps
docker stats
docker search
🔹 코드 명령어 & 설명
🟩 Clean-up Command
docker image rm -f
docker container rm -f
docker system prune
🔹 코드 명령어 & 설명
🟩 Docker Command
# simple hello docker
docker run hello-world
# ubuntu os installation
docker pull ubuntu
docker container run -it -d --rm --name ubuntuos ubuntu:latest
docker exec -it ubuntuos /bin/bash
# alpime os installation
docker pull alpine
docker container run -it -d --rm --name alpineos alpine:latest
docker exec -it alpineos /bin/bash
Author And Source
이 문제에 관하여(데이터센터프로그래밍07), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@dkddkkd55/데이터센터프로그래밍07저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)