남들꺼 받아쓰지말고 내만내사 해보자 ㅋ
일단 이미지를 만드는 방법은 2가지가 있다.
혹은 docker run --name 이미지이름 -it ubuntu:20.04 을 사용하면 이미지를 받음과 동시에 컨테이너 이름을 바꿔서 생성가능
docker pull ubuntu
이미지를 실행시킨다
docker run -it --name test ubuntu
여기서 다시
docker commit [복사할 컨테이너 name/id][새로만들 이미지 이름]
docker commit test test2
그리고 images에서 새로만든 이미지가 있는지 확인해보자
docker build -t ubuntu_base .
위에 과정을 거치면 다음과같이 이미지가 생성된다.
docker run --name testServer -it -d ubuntu_base
docker exec -it testServer /bin/sh
echo "hello, <strong>DOCKER</strong>
위에 과정처럼 일일히 커맨드를 작성하는건 귀찮은 일이다.
# base image을 선택한다(주로 운영체제)
FROM ubuntu:20.04
# -y 는 파이선이 설치될떄 질문이 들어온다 그때 답번을 y으로 해주어야한다.(안그러면 도커는 멈춘다)
RUN apt update && apt install -y python3
# 작업할 디랙토리로 이동 (없으면 만들어서 이동한다)
WORKDIR /var/www/html
# RUN echo "hello <strong>DOCKER</strong>" > index.html 으로 만들어도되지만 도커파일이 생성된 루트에서 파일을 카피할수도있다.
# copy의 인자는 "카피할 파일경로","붙여넣을경로"] 붙여넣을 경로는
# 위에 workdir의 기준으로 간다.
COPY ["index.html"."."]
CMD ["python3","-u","-m","http.server"]
# CMD와 RUN의 차이는 RUN은 도커이미지를 만들떄 사용되고 CMD는
# 컨테이너를 실행시켰을떄 사용된다.
위에파일을 작성한뒤
docker build -t test_server .
docker run -d -p 8888:8000 --name testServer test_server
그런뒤 localholst:8888으로 접근하면
서버가 뜸
물론 최신화할때 도커파일을 업데이트해서 컨테이너를 생성할수도있다.