가장 간단한 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"]
- Dockerfile 작성하고 프롬프트에서 docker build . 명령어 실행
- 이미지에 이름 주기 docker build . -t myhello:1.0 <-- 1.0은 태그 (버전), 명시하지 않으면 :latest
- 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 |