저작권 안내
- 책 또는 웹사이트의 내용을 복제하여 다른 곳에 게시하는 것을 금지합니다.
- 책 또는 웹사이트의 내용을 발췌, 요약하여 강의 자료, 발표 자료, 블로그 포스팅 등으로 만드는 것을 금지합니다.
Docker 이미지 생성하기
build 명령으로 이미지 생성하기
Dockerfile을 작성하였으면 이미지를 생성합니다. Dockerfile이 저장된 example 디렉터리에서 다음 명령을 실행합니다.
~/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! 페이지가 표시될 것입니다.
저작권 안내
이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.- 블로그, 게시판 등에 퍼가는 것을 금지합니다.
- 비공개 포스트에 퍼가는 것을 금지합니다.
- 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
- 링크 및 SNS 공유는 허용합니다.