일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Kafka
- high level client
- flask
- 파이썬
- licence delete curl
- Test
- zip 파일 암호화
- license delete
- Mac
- 차트
- ELASTIC
- springboot
- TensorFlow
- query
- Java
- plugin
- sort
- analyzer test
- docker
- aggs
- zip 암호화
- Python
- API
- Elasticsearch
- aggregation
- License
- MySQL
- token filter test
- matplotlib
- 900gle
Archives
- Today
- Total
개발잡부
[docker] Dockerfile 본문
반응형
Dockerfile이란?
이미지를 생성하기 위한 스크립트. docker build 명령어를 통해 이미지를 생성
Dockerfile 명령어
FROM | 기반이 될 이미지(ex. OS)를 지정 | FROM <이미지> |
MAINTAINER | 작성자의 정보를 기록 | MAINTAINER <작성자 <메일>> |
RUN | FROM의 기반 이미지 위에서 실행될 명령어 | RUN <명령어> |
COPY | 도커 컨테이너의 경로로 파일을 복사합니다 | COPY <복사 할 파일 경로> <컨테이너 경로> |
CMD | 컨테이너 시작 이후, 컨테이너에서 실행될 파일 | CMD <실행파일> <매개변수1> ... |
ENV | 도커의 환경변수를 설정 | ENV <환경변수 이름> <값> |
EXPOSE | 연결할 포트 번호를 명시 | EXPOSE <포트 번호1> ... |
Dockerfile 작성 예시
debian:buster를 기반 이미지로 하고 nginx를 설치하는 도커파일의 예시입니다.
여기서 apt-get 명령어에 -y 옵션을 주면, 사용자의 응답이 필요할 때 자동으로 yes라고 답할 수 있습니다.
FROM debian:buster
MAINTAINER doo <doo@900gle.com>
ENV HELLO "hello 900gle!"
RUN apt-get update
RUN apt-get upgrade -y
RUN apt-get install -y nginx
RUN echo $HELLO
COPY srcs/test.sh /root/
CMD ["/bin/bash", "/root/test.sh"]
EXPOSE 80 443
환경변수 HELLO를 echo명령어로 출력하고 있으며, test 쉘 스크립트를 컨테이너의 /root경로로 복사한 뒤 실행시키고 있습니다.
Docker 빌드/실행 명령어
docker 빌드/실행
build | Dockerfile로 이미지를 생성 | docker build <Dockerfile 경로> -t <생성할 이미지 이름> |
run | 생성한 이미지를 기반으로 도커를 실행 | docker run <이미지 이름> |
docker run의 옵션
-i | 컨테이너와 상호 입출력 활성화 |
-t | tty 활성화. 주로 -i옵션과 함께 사용 |
-p | 포트를 지정 |
-e | 환경변수를 지정하거나 값을 변경 |
Dockerfile 사용 예시
docker build . -t myimage
docker run -it -p 80:80 -p 443:443 -e HELLO="hello world!" myimage
반응형
'Docker' 카테고리의 다른 글
[docker] Error response from daemon: network myapp not found (0) | 2022.10.29 |
---|---|
[docker] docker rmi must be forced (0) | 2022.05.21 |
Portainer 설치 (0) | 2020.03.22 |
레디스를 설치해보자 (0) | 2020.03.04 |
Mac Docker Mysql 설치하기 (0) | 2020.01.14 |
Comments