04C. build 명령으로 이미지 생성하기
About 1 min
04C. build 명령으로 이미지 생성하기 관련
목차
언제나 최신 Docker
.Dockerfile
을 작성하였으면 이미지를 생성합니다. Dockerfile
이 저장된 example
디렉터리에서 다음 명령을 실행합니다.
sudo docker build --tag hello:0.1 .
docker build <옵션> <Dockerfile 경로>
형식입니다. --tag
옵션으로 이미지 이름과 태그를 설정할 수 있습니다. 이미지 이름만 설정하면 태그는 latest
로 설정됩니다.
잠시 기다리면 이미지 파일이 생성됩니다. 이미지 목록을 출력합니다.
sudo docker images
#
# REPOSITORY TAG IMAGE ID CREATED SIZE
# hello 0.1 8307ff628ec8 9 seconds ago 170MB
# ubuntu 22.04 2dc39ba059dc 7 days ago 77.8MB
hello:0.1
이미지가 생성되었습니다. 이제 실행을 해봅니다.
sudo docker run --name hello-nginx -d -p 80:80 -v /root/data:/data hello:0.1
-d
옵션은 컨테이너를 백그라운드로 실행합니다.-p 80:80
옵션으로 호스트의 80번 포트와 컨테이너의 80번 포트를 연결하고 외부에 노출합니다. 이렇게 설정한 뒤http://<호스트 IP>:80
에 접속하면 컨테이너의80
번 포트로 접속됩니다.-v /root/data:/data
옵션으로 호스트의/root/data
디렉터리를 컨테이너의/data
디렉터리에 연결합니다./root/data
디렉터리에 파일을 넣으면 컨테이너에서 해당 파일을 읽을 수 있습니다.
실행된 컨테이너 목록을 출력합니다.
sudo docker ps
#
# CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
# 9f4bb4c4a3d8 hello:0.1 "nginx" 11 seconds ago Up 10 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp, 443/tcp hello-nginx
hello-nginx
컨테이너가 실행되었습니다.
웹 브라우저를 실행하고, http://<호스트 IP>:80
으로 접속합니다. Welcome to nginx! 페이지가 표시될 것입니다.
macOS, Windows에서 Docker Desktop을 사용한다면?
웹 브라우저를 실행하고, http://127.0.0.1
로 접속합니다. Welcome to nginx! 페이지가 표시될 것입니다.