Linux

Dockerfile로 image 만들기

bornsoon 2024. 8. 7. 12:52

가장 간단한 Dockerfile

# 베이스 이미지 선택  (=ubuntu:latest)
FROM alpine

# 실행할 명령어
CMD ["echo", "hello, docker"]

 

nginx 이미지 만들기

FROM ubuntu

# 없는 패키지는 설치 해줘야 함
# 컨테이너는 운영체제라는게 없음.. 컨테이너 부팅을 하지도 않음
# OS를 설치하고 부팅하는 건 가상머신
RUN apt update
RUN apt install nginx -y
# 추가 설치 여부 >> Yes
# 컨테이너 이미지를 빌드할 때의 기본 수칙
# 1. 사용자와 대화를 하면 안된다. <- 이걸 필요로 하면 자동 중단이 됨 Abort
#                               <- CI/CD <- 자동으로 통합/빌드/배포
#                               <- 우리의 빌드 프로세스가 자동화 (-y)
# 2. 내가 CMD로 실행한 프로세스가 종료되면 그 컨테이너도 종료된다.
#    내가 실행한 프로세스가 데몬이고 싶으면, 프로세스가 종료되면 안된다.
#  nginx가 백그라운드가 아닌 foreground에서 실행되도록 변경해야 함...
RUN echo "\ndaemon off;" >> /etc/nginx/nginx.conf
RUN echo "<H1>Welcome to my website</H1>" > /var/www/html/index.html

CMD ["nginx"]
  1. Dockerfile 작성하고 프롬프트에서 docker build . 명령어 실행
  2. 이미지에 이름 주기 docker build . -t myhello:1.0  <-- 1.0은 태그 (버전), 명시하지 않으면 :latest
  3. docker run -d -p 80:80 mynginx:0.1 하고 접속해보기

***docker rmi $(docker images -f="dangling=true" -q)  <-- 쓸데없는 이미지(<none>) 지우기

728x90

'Linux' 카테고리의 다른 글

SSH 비밀번호 입력없이 접속하기  (0) 2024.08.06
VScode에서 SSH 원격 접속하기(ubuntu)  (0) 2024.08.06
리눅스 nginx를 이용한 서버 만들기  (0) 2024.08.04
리눅스 패키지 설치  (0) 2024.08.04
리눅스 입출력  (0) 2024.08.04